what is .NET

Started by
35 comments, last by uray 20 years, 8 months ago
Re: niche language, I think people confuse the niche vs. general purpose distinction with the popular vs. unpopular distinction. I could write an essay on this here but I''m lazy and it''s late and I doubt anyone would read it anyway.

Re: functional vs. procedural... I didn''t simply mean "it''s possible by jumping through lots of hoops and using weird constructs to program in a procedural style" I mean literally "you can program in a procedural style." It''s not frowned upon because it''s bad style necessarily, more because there are more expressive and powerful ways to use the language.

But back to the real functional vs. procedural issue, here''s my beef. Confronted with the original statement "it''s the only procedural, object-oriented, general purpose language to support generic programming" and the response "Lisp isn''t procedural" I can''t help but ask who cares? In that context the distinction of procedural vs. functional means so little to me. It''s like saying "it''s the only functional, object-oriented, general purpose programming language with prefix notation that supports generic programming." One is not significant to the other.

Oh and Xai sorry for being a bit harsh. I was in a bad mood when I wrote my last post, shouldn''t have taken it out on you.
Advertisement
quote:Original post by Dobbs
Re: niche language, I think people confuse the niche vs. general purpose distinction with the popular vs. unpopular distinction. I could write an essay on this here but I''m lazy and it''s late and I doubt anyone would read it anyway.


I believe this confusion is true, but I believe it could also be the difference between "It''s a niche language if it is only used in a certain niche" and "It''s a niche language if it can only be used in a certain niche". To clarify, when I say "can" I mean "can, within reason" (to eliminate the "you can if you jump through hoops" type comments), and when I say "only used" I mean "for the vast majority of cases is used". I think the first could include Lisp and Smalltalk while the second most certainly doesn''t.

quote:
Re: functional vs. procedural... I didn''t simply mean "it''s possible by jumping through lots of hoops and using weird constructs to program in a procedural style" I mean literally "you can program in a procedural style." It''s not frowned upon because it''s bad style necessarily, more because there are more expressive and powerful ways to use the language.


I think you took what I said about monads in Haskell a little too far. There''s only one hoop to jump (it might not even exist in most cases), it''s not very large, and it uses constructs essential to the language. The last sentence really depends on what you consider bad style. Looping with goto is bad style in C because there are more expressive ways to use the language.

quote:
But back to the real functional vs. procedural issue, here''s my beef. Confronted with the original statement "it''s the only procedural, object-oriented, general purpose language to support generic programming" and the response "Lisp isn''t procedural" I can''t help but ask who cares? In that context the distinction of procedural vs. functional means so little to me. It''s like saying "it''s the only functional, object-oriented, general purpose programming language with prefix notation that supports generic programming." One is not significant to the other.


Assuming a programmer familiar with both paradigms, I would agree. The fact is that the majority of programmers are more comfortable with a procedural style. (I think it''s also possible they aren''t comfortable with OO style, either. Of course, that depends to some extent on what''s meant by OO...) If most programmers are more comfortable with procedural programming, then they''re likely to be more productive with procedural programming (if you''re using a paradigm you''re not comfortable with you''ll be fighting it all the way), and thus less productive with functional programming. You could just as easily say that mentioning "object-oriented" is just as arbitrary as mentioning "procedural". (My three favorite programming languages are C, Smalltalk, and Haskell. They are each very pure (procedural, OO, functional), but I wouldn''t say Smalltalk is therefore better because it''s OO. I would say it''s better for someone more comfortable with OO or for a task that''s better represented in an OO style)
Well, it's no wonder you're having problems figuring out what .NET really is.

MS pretty much failed when launching the whole .NET initiative. Their PR campaign ran amok and Redmond decided that almost all of their technologies should have .NET in their name. This lead to confusion and the indutrsy and descision makers had a hard time figuring what the heck was going on. So last summer they changed strategy (Gates: Slow going for .Net).

Now adays it's much clearer, and as mentioned in earlier posts it mainly represents the following technologues: the .NET framework incl. C#, MSIL and Visual .NET.

Personally I think that .NET has some extremely clever ideas and concepts and C# is a joy to work with. For building Windows apps it's THE thing. The framework just doens't cut it at the moment (for me that is, others may be okay with it). Although the framework generally has a good and sound design there are problems. The collections part, for one, is a joke (it's as if it was put together a late friday evening), and, which for me is vital, there's nothing comparable to JAI (Java Advanced Imaging) in .NET.

Lastly, you can't compare .NET to Java as such. The two are not competing. IBM's "WebSphere" and Sun's "Sun ONE" competes for the market against .NET.

EDIT: Missing words and spelling

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.

[edited by - rohde on August 1, 2003 8:41:19 AM]
"We confess our little faults to persuade people that we have no large ones." -Francois de La Rochefoucauld (1613 - 1680). | My blog
quote:Original post by rohde
The collections part, for one, is a joke (it''s as if it was put together a late friday evening)

I think they deliberately chose not to put too much effort into it, since they''d have to redesign it when generics were introduced anyway.

Besides, remember the collection classes in Java 1.0?


AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
quote:Original post by Way Walker
I believe this confusion is true, but I believe it could also be the difference between "It''s a niche language if it is only used in a certain niche" and "It''s a niche language if it can only be used in a certain niche". To clarify, when I say "can" I mean "can, within reason" (to eliminate the "you can if you jump through hoops" type comments), and when I say "only used" I mean "for the vast majority of cases is used". I think the first could include Lisp and Smalltalk while the second most certainly doesn''t.


Yeah it''s probably a confusion of definitions. The problem is people seem to think the former implies the latter and so they dismiss good languages as "niche" out of ignorance and do themselves a disservice. I can''t count the number of people I''ve seen express the sentiment "oh don''t use Python for that, it''s just a scripting language" or "Lisp is only for AI" when really the language they''re dissing is a great tool for the job.

quote:I think you took what I said about monads in Haskell a little too far. There''s only one hoop to jump (it might not even exist in most cases), it''s not very large, and it uses constructs essential to the language. The last sentence really depends on what you consider bad style. Looping with goto is bad style in C because there are more expressive ways to use the language.


Yeah I think I took your monad thing too far (btw I tried looking for a quick explanation of monads/Haskell once and I couldn''t find anything satisfactory... got any good sources?), but I think your analogy is a bit flawed. While I agree that other constructs are more expressive than goto, I think the real reason its use is discouraged is because it tends to have a negative effect on code readability and maintainability. I''m not so sure that''s the case with procedural style in functional languages (personally I try to stick to a functional style but I''ve seen many projects coded in a procedural style and had no problems understanding them).

quote:Assuming a programmer familiar with both paradigms, I would agree. The fact is that the majority of programmers are more comfortable with a procedural style. (I think it''s also possible they aren''t comfortable with OO style, either. Of course, that depends to some extent on what''s meant by OO...) If most programmers are more comfortable with procedural programming, then they''re likely to be more productive with procedural programming (if you''re using a paradigm you''re not comfortable with you''ll be fighting it all the way), and thus less productive with functional programming. You could just as easily say that mentioning "object-oriented" is just as arbitrary as mentioning "procedural". (My three favorite programming languages are C, Smalltalk, and Haskell. They are each very pure (procedural, OO, functional), but I wouldn''t say Smalltalk is therefore better because it''s OO. I would say it''s better for someone more comfortable with OO or for a task that''s better represented in an OO style)


It''s funny you should say that. Lisp with OO is barely distinguishable from Lisp without OO. Really the OO features of Lisp amount to a lot of convenient macros built on top of the core language, rather than lots of new syntax/features/concepts as it''s done in say C vs. C++. So I''d also say the OO vs. non-OO distinction doesn''t mean much to me.
been coding with .NET for about a year now (mainly C# pages and C++/VB for web services) and I can say without a doubt that

.NET = .HYPE

It''s pure BS, don''t waste the time if you don''t have a compelling reason (like the client requires it).
quote:Original post by Arild Fines
Besides, remember the collection classes in Java 1.0?


I am starting a "destroy this thread for the emotional damage it has caused me by making me remember Java 1.0" campaign against GameDev.

God, remember the old GUI event mechanisms? There''s seriously a gap in my mind where I have suppressed how horrible that stuff was.

This topic is closed to new replies.

Advertisement