Author Topic: .NET Help  (Read 29418 times)

0 Members and 1 Guest are viewing this topic.

Glenn R

  • Guest
Re: .NET Help
« Reply #45 on: March 07, 2008, 05:54:01 PM »
Also I would recommend staying away from C#, it's a horrid language to work with.

You also recommend that everyone do all web development by hand-writing HTML and CSS in a generic text editor.

Are you actually serious about any of this stuff you spout, or are you just trying to create Borat reactions?

Well said sinc. Not that I think you were over the top in any way shape or form, but I tend to moderate my prose for the predominantly American audience here, however, I think my Australian will come out from now on if this sort of thing (comments like tjr's) continues.

You sayin' us Americans are uptight? ;)

Not at all ;) , but when people start typing carp instead of CRAP or bstaard instead of BASTARD...as an ozzy, you know you *should* tame it down for the prose sensitive...........  :evil:

Glenn R

  • Guest
Re: .NET Help
« Reply #46 on: March 07, 2008, 05:55:35 PM »
Sincere thanks for keeping it civil thus far folks.

:)

Oooops! :) You posted whilst I was penning my reply...<sheepfaced grin>

StefanDidak

  • Guest
Re: .NET Help
« Reply #47 on: March 07, 2008, 06:57:17 PM »
Not at all ;) , but when people start typing carp instead of CRAP or bstaard instead of BASTARD...as an ozzy, you know you *should* tame it down for the prose sensitive...........  :evil:
And here I was thinking those were just rapid-keyboard-syndrom induced typo's.  :-D

StefanDidak

  • Guest
Re: .NET Help
« Reply #48 on: March 07, 2008, 06:58:26 PM »
Also I would recommend staying away from C#, it's a horrid language to work with.
Compared to what?  :-o

tjr

  • Guest
Re: .NET Help
« Reply #49 on: March 07, 2008, 07:10:41 PM »
Contrary to the advice given here there is nothing wrong with diving in feet first and writing some code. Just look at some sample code you find on the web and you should be able to pick up on it. 95% of the programming people do is not that hard, especially the .NET stuff.

Also I would recommend staying away from C#, it's a horrid language to work with.

I have to say you're the only person amongst the hundreds of testimonials that I've gathered on the subject that thinks this way... what, may I ask, pushes you to believe this way?

Same with C#... I've found more people actually recommend it for justifiable reasons, and most opinions are that either is equally as usable, but I've not come across anyone who's actually had something negative to say of either C#, C++, VB.NET, or any variation that can be used behind the .NET design.

I'm still trying to figure out what pushes people to believe the other way. What does it hurt to dive in feet first and just start coding? Sure what you produce at first won't be so beautiful it will bring a tear to another programmer's eye, but it will get the job done and over time it will get better as your skills develop.

Also I'm the type of person that can't learn by reading books, tutorials, etc., no matter how hard I try. I need to actually get some sample code in front of me and mess with it before it clicks in my brain as to how things work. Perhaps I am alone on this but I highly doubt it.

I can see my "C# is a horrid language to work with" comment has also gotten a couple C# users upset so let me try to explain the reason I would say such a thing. Late last year I accepted the task of writing a Bill of Material application for AutoCAD that essentially used a DataGridView to provide an Excel like interface for constructing the BOM, with an interface for pulling part information from a proprietary DB (Progress) via ODBC and writing the fill BOM's out to a SQL Server 2005 DB for processing by our ERP system. I had started this project in C#, got about 3/8 of the way done and finally got so disgusted I had to give up on C# and write it in a different language for .NET.

The language is ridiculously verbose, for example:
Code: [Select]
Form x = new Form();Why do I need to declare that x is a Form when I am assigning it a new instance of a Form? I shouldn't have to type that nor do I want to. Also why do I need to use "new"? If form is a class the language should know that I am not creating an alias for it but creating an instance of it because I am using the ()'s.

I don't care for the cast system.
Code: [Select]
string i = ((string) 11);I don't find this readable at all. I would prefer an explicit cast call or something similar, as when revisiting code I can pick it up faster.

I also don't care for the way arrays are defined.
Code: [Select]
MyClass[] mc = new MyClass [60]I also would prefer an explicit call of something like mc = array(Myclass, 60) or something like that for the same reasons I listed for the cast system.

And my final reason for disliking C# so much are the stupid braces and ending everything with ;. To me they are pointless and actually hinder my reading of the code instead of helping it.

So basically that sums up why I would call C# a horrid language and why I would never recommend it to anyone. I am not looking for a "Borat reaction" and I am certainly serious about the "stuff I spout" because, well, it's my opinion. I'm not rectally extracting my statements, I'm speaking from my experience.

StefanDidak

  • Guest
Re: .NET Help
« Reply #50 on: March 07, 2008, 07:16:46 PM »
And my final reason for disliking C# so much are the stupid braces and ending everything with ;. To me they are pointless and actually hinder my reading of the code instead of helping it.
I'd love to hear your opinion on C and C++ then if you don't like stupid braces and ending lines with ;.  :evil:
Or, actually, perhaps I should ask what languages you do consider elegant and effective.

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
Re: .NET Help
« Reply #51 on: March 07, 2008, 07:33:06 PM »
tjr,
only 4 issues ?  :-)

the first ... has to do with type safety and basic inheritance ...

the second ... you don't need to cast in that situation .. read the help.

the third ... "you would prefer" does not count as a constructor method.

the fourth .. the ';' and the 'stupid braces' are for the delineation of code blocks ... and is an advice for the reader to take a breath.
the alternatives look run together like a novice's vb code ..


I really thought you'd  have some better cases than these  :lol:
kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

tjr

  • Guest
Re: .NET Help
« Reply #52 on: March 07, 2008, 07:38:01 PM »
And my final reason for disliking C# so much are the stupid braces and ending everything with ;. To me they are pointless and actually hinder my reading of the code instead of helping it.
I'd love to hear your opinion on C and C++ then if you don't like stupid braces and ending lines with ;.  :evil:
Or, actually, perhaps I should ask what languages you do consider elegant and effective.
I personally have no use for either C or C++ as I have yet to do anything that requires the low level capabilities or the speed of either. I guess if I needed the speed I would consider something like Pyrex or Psyco. I haven't used either but they seem fairly straightforward.

In case you haven't guessed by now my preferred language for general tasks is Python. For general desktop/console apps I will use either Python or IronPython (I like System.Windows.Forms). For AutoCAD .NET extensions I use Boo exclusively but would consider VB.NET over C# if I were forced to use a MS provided .NET language.

tjr

  • Guest
Re: .NET Help
« Reply #53 on: March 07, 2008, 07:51:36 PM »
tjr,
only 4 issues ?  :-)

the first ... has to do with type safety and basic inheritance ...

the second ... you don't need to cast in that situation .. read the help.

the third ... "you would prefer" does not count as a constructor method.

the fourth .. the ';' and the 'stupid braces' are for the delineation of code blocks ... and is an advice for the reader to take a breath.
the alternatives look run together like a novice's vb code ..


I really thought you'd  have some better cases than these  :lol:

Kerry:

I'm sure I could come up with more reasons than I provided if I would go back into my original project and dig around, however I have neither the time nor the ambition to do so.

The first item may have to do with type safety and basic inheritance but it isn't required as I know and use other .NET languages that don't require it.

For the second Item I'm sorry I didn't give a good example, how about DBDictionary nod = (DBDictionary)trans.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForWrite);? I still don't like it.

Once again for the third item I know and use a .NET language that operates in the fashion I described. I prefer it.

Fourth item: Are you implying professionals use languages that have braces and semicolons and novices use VB?

Like I said before I am speaking from my own experiences with C#. I found it to be a horrid language and I wouldn't recommend it to anyone.

StefanDidak

  • Guest
Re: .NET Help
« Reply #54 on: March 07, 2008, 07:53:49 PM »
In case you haven't guessed by now my preferred language for general tasks is Python. For general desktop/console apps I will use either Python or IronPython (I like System.Windows.Forms). For AutoCAD .NET extensions I use Boo exclusively but would consider VB.NET over C# if I were forced to use a MS provided .NET language.
Personally I would consider the ACAD.NET/C3D.NET API's very good examples of how NOT to create an API for .NET and would agree that VB.NET is a closer match (especially for people without a C/C++ background or C# experience) for it because of its persistent use of variants and minimal documentation.

The question about what makes a horrible language will largely depend on the background of the developer. C# was a logical evolution from C/C++ and as such provides a much better match for people with a C/C++ background. Similarly VB.NET is a better match for those with a VB/VBScript background.

Personally I would recommend C# over VB.NET (or other .NET capable languages) if someone is starting out and has to undergo the sometimes frustrating learning curve involved. Not so much because of language per-se but rather because C# is more supported outside of the scope of just writing small tools. Once someone really gets into development they will find certain needs or desires for tools that help with their development and projects and most of those seem to revolve around C# (a little less for VB.NET and quite a lot less for many other languages). Lots of Visual Studio addons, for example, are primarily aimed at C#. Getting a start on a language that looks intimidating at fist can in the long run be a better bet.

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
Re: .NET Help
« Reply #55 on: March 07, 2008, 07:56:49 PM »
<snip>
Fourth item: Are you implying professionals use languages that have braces and semicolons and novices use VB?
<snip>

I didn't say or imply unprofessionalism. I said it looks a mess (to me).



<snip>
Like I said before I am speaking from my own experiences with C#. I found it to be a horrid language and I wouldn't recommend it to anyone.

Yes, I got that .. I was looking for your rationale.
kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

StefanDidak

  • Guest
Re: .NET Help
« Reply #56 on: March 07, 2008, 07:59:35 PM »
For the second Item I'm sorry I didn't give a good example, how about DBDictionary nod = (DBDictionary)trans.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForWrite);? I still don't like it.
Good example. That's one of the things I mean with the ACAD.NET API being a really bad example of a .NET API. That casting stuff isn't because of C# or the language constructs but rather how Autodesk decided to layer a managed code layer on top of their COM layer via Interop. A proper .NET API wouldn't require such ugly casts.

MP

  • Seagull
  • Posts: 17750
  • Have thousands of dwgs to process? Contact me.
Re: .NET Help
« Reply #57 on: March 07, 2008, 08:14:04 PM »
My opinion is that pretty much every computer language I've seen has the capacity to produce really ugly code. Conversely, even seemingly cryptic languages have born visually pleasing code. It depends a lot on the author. For example, even masm is pretty when born of Charles Petzold's keyboard. Having said that I understand Tim's preference for Python and Boo etc. They are very wrist friendly and expressive compared to the curly braced languages and have addressed many of the C# issues that understandably irk Tim. Having said that I enjoy C#, and it, like Python, has a place in my toolbox.

It's a suggestive topic at best; born of our own experiences, pragmatics and sense of aesthetics. At the end of the day if you find a language you enjoy programming in, and you can efficiently produce solutions that fully meet your specs you're doing well. Even more so if people will pay you to do it and there's good peer support.

I would like to remind everyone Tim didn't take shots at anyone, he simply stated his opinion and preference, which he is fully entitled to, and I would encourage everyone to do same, and avoid personal, derisive comments etc.

That said my own experience being that more flak is drawn if one dismisses product A, rather than espousing, and concentrating on the merits of product B, which this tangent illuminates.

:)

Not that I walk any of this talk particularly well, but hey, I am trying to improve.
« Last Edit: March 07, 2008, 08:33:08 PM by MP »
Engineering Technologist • CAD Automation Practitioner
Automation ▸ Design ▸ Drafting ▸ Document Control ▸ Client
cadanalyst@gmail.comhttp://cadanalyst.slack.comhttp://linkedin.com/in/cadanalyst

tjr

  • Guest
Re: .NET Help
« Reply #58 on: March 07, 2008, 08:37:44 PM »
In case you haven't guessed by now my preferred language for general tasks is Python. For general desktop/console apps I will use either Python or IronPython (I like System.Windows.Forms). For AutoCAD .NET extensions I use Boo exclusively but would consider VB.NET over C# if I were forced to use a MS provided .NET language.
Personally I would consider the ACAD.NET/C3D.NET API's very good examples of how NOT to create an API for .NET and would agree that VB.NET is a closer match (especially for people without a C/C++ background or C# experience) for it because of its persistent use of variants and minimal documentation.

The question about what makes a horrible language will largely depend on the background of the developer. C# was a logical evolution from C/C++ and as such provides a much better match for people with a C/C++ background. Similarly VB.NET is a better match for those with a VB/VBScript background.

Personally I would recommend C# over VB.NET (or other .NET capable languages) if someone is starting out and has to undergo the sometimes frustrating learning curve involved. Not so much because of language per-se but rather because C# is more supported outside of the scope of just writing small tools. Once someone really gets into development they will find certain needs or desires for tools that help with their development and projects and most of those seem to revolve around C# (a little less for VB.NET and quite a lot less for many other languages). Lots of Visual Studio addons, for example, are primarily aimed at C#. Getting a start on a language that looks intimidating at fist can in the long run be a better bet.
All very good points, especially the tools available to the C# developer. However I, and I'm sure a lot of others out there, do not have a full version of Visual Studio due to the fact that they can't justify the cost. So instead our options are the Express Editions (which can't use add-ons) or using SharpDevelop. I personally use SharpDevelop because I like the integration of a lot of the open source .NET tools. I'm sure if I were programming as my primary job I could talk my company into providing me with a copy of VS but as I'm electrical engineering first, programmer second my hands are kind of tied.

It's Alive!

  • Retired
  • Needs a day job
  • Posts: 8702
  • AKA Daniel
Re: .NET Help
« Reply #59 on: March 07, 2008, 08:55:28 PM »
For the second Item I'm sorry I didn't give a good example, how about DBDictionary nod = (DBDictionary)trans.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForWrite);? .

could have been

Code: [Select]
DBDictionary nod = trans.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForWrite) as DBDictionary;