What Do Programmers Like About .NET?
prostoalex writes "Software Development Times did a special report asking the .NET developers what they liked about the platform, since it's been 18 months since the .NET introduction by Microsoft. While the positive responses generally acclaimed Microsoft on integrating C++/C# logic development and VB GUI generation into one environment, some complaints are out there as well. From the article: "When Mark Lindley, manager of development services at Cimco, was working with .NET version 1.0 in September 2002, he needed to implement SSL transactions over TCP/IP. 'It took a long time to figure out that this functionality hadn't been implemented in .NET yet,' recalled Lindley." The article also mentions Honeywell Automated Control Systems, a .NET/J2EE software operation, considering moving their operations to .NET platform."
it sure beats writing windows programs in win32. the only thing i miss(being a java programmer) is javadocs. i mean come on now, if you're going to clone a language, at least do the whole thing, or you're just going to leave people confused. overall though, .net is a nice thing to use. i do wish it did something better, but you can't have everything.
All it takes to fly is to hurl yourself at the ground... and miss. -Douglas Adams
It lets me take most of what I've learned with Java, and leverage it with a faster VM and better environment integration. While applications like MP3 players can get away with looking totally weird, I prefer my applications to be consistent.
.NET uses with C# applications. I found it much easier than working with SWING applications.
Plus, the GUI programming is ultra easy with the model for messages that
Too bad that there's not any handy C# environment for Linux that's complete that I know of. I'd really like to be able to write more C# applications, since the language and GUI libraries are such a breeeze to work with.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
well, my title is programmer. that means i have to write anything my boss tells me to write. so when i have to write a windows program, c# makes it alot easier to do compared to win32 and c. this might not make that much sense, but i work at a college, and i have to write what they tell me to even if i don't know the language they want me to write it in. i do know java, which make c# all the easier to write in.
All it takes to fly is to hurl yourself at the ground... and miss. -Douglas Adams
My experience is that C# is pretty good, on par with java. and C++ is C++, MS bastardizes it a little but it isn't that bad. But the major selling point of VS.NET isn't the .NET part, its the VS part.
.NET, which i haven't found many.
The IDE kicks ass. it's just that simple. I know you may be able to code like a pro with emacs if you know all of the key combos, but the combo boxes that pop up when you type giving you on the fly documentation and revealing the classes/functions available to you is a god send.
VS is just an awesome IDE that makes up for any short coming of
Is that human resources people who demand 3+ years experience. Those guys are great.
How we know is more important than what we know.
"It's dot com!"
SCO (noun.)- A Slimy Corporate Ogre. Often seeks free money.
Comment removed based on user account deletion
The people they interviewed all seem to be those VB scripters only refered to as "programmers" by the PHBs. I actually think the .NET classes are an acceptible wrapper around the ugliness of the Windows API.
.NET as a replacement for ATL/MFC is not so bad. I haven't tried C++ .NET bindings yet but if I have to implement a Windows version of some serious program, and can't use Qt, I want to look into it.
.NET when compared to Qt is the XML definition of UI's. This keeps down the level of that ugly generated code. If you want, you can even ship the XML instead of having it parsed into C++ and compiled (this gives you flexibility at the expense of keeping track of resources outside the binary, I haven't used it except experimentally, but I can imagine some enterprise applications where you might want to be able add a form to by just sticking some XML in your database instead of deploying a new binary to 10,000 desks.) I don't like having to run the Qt preprocessor though, but I don't know if C++ .NET has some of that uglyness too or if it is pure C++. The big downside of the preprocessor is that it makes it harder to write a crossplatform GUI class, like say one that used either a MFC or a Qt or a OpenGL or a Carbon implementation depending on what was available.
I don't really like C# because it just seems to be an inferior Java clone. But
Are there any programmers here that have given C++.NET a try that also know the joy of Qt? I'd like to hear about the advantages/disadvantages... The only thing that really seems missing from
I like the warm fuzzy feeling of using a propritary platform controlled by a benevelent dictatorship of a company. Bill governs by the divine right of CEOs. Long live Bill!
Comment removed based on user account deletion
I'm a complete newbie when it comes to understanding the whole ".NET" concept, so... my question is, are .Net applications ever compiled so they can be distributed? What I'm asking is, if someone wrote an app in .NET, or C#, whatever it's called, can it be compiled and distributed to people running windows OSes? Or is it like Java, where you need a runtime environment?
It's nice to be able to transpose between c# and VB.net without much effort. Now I can get more mileage out of every dollar I spend on books (make that 2 dollars if we're talkin about Microsoft Press).
It'll be interesting to see how web services take off over the next few years. I wonder if anyone will be left after M$ has their free market tantrums.
ASP.NET is like night and day over ASP. Now I wish we could just get the ASP programmers to use SPROCs instead of hard coding their SQL into the ASP pages! Hey, who needs more than one concurrent connection anyway.
The IDE is sweet. If you've gone the wayward way and are a M$ Shop, debugging is a snap.
Overall, a good way to go if you are an inept half-programmer like myself.
The article kept hitting on this point:
... "With .NET we are saying, 'Don't write the code. Connect two things with an object, and hit a button.' It's a big change."
.NET represents a fundamental or substantial cultural change in the manner in which we develop software. The development I've done in .NET never compressed down to the level of "connecting two things with objects and hitting a button." Sure I use the base libraries all the time but they are just general purpose programming tools. They can give you stuff like Hashtable and ReaderWriterLock classes. If before .NET you found yourself spending a lot of time writing these kinds of classes, you probably spent a lot of time reinventing the wheel. The bulk of my programming time has always been spent on business or application specific logic.
"It's a cultural change
I really don't understand how
Whoever marked this as Flamebait??? It is clearly humor.
Using a proprietary compiler is like being a dog on a leash. Anytime they yank your chain, you go along.
I wish the native L&F wore more emphasized in Java. Apple did a great job on their port of the Java SDK, but I want the Linux one to use something like KDE/QT model (which is compatible enough, themes wise, to work with GNOME/GTK+ as well).
System.Windows.Forms is what makes C# sexy for GUI. We need something like that for Java, but I doubt it'll be easy to get it.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
The story has a happy (open source) ending in that we were able to put stunnel in front of our application to provide SSL tunnelling. But it gave me a few panic attacks in the meantime.
It's like Java: you need the runtime environment. For now, that means that most of the installed base of Windows machines won't already have what you need to run an app, so you'll have to include a 21MB runtime with your 21kB app, or point them as MS's website for a free download of the .Net framework (the runtime). Not very pleasant for mass distribution yet.
.Net framework is now included in all currently shipping Windows versions, so it will be as standard as the Win32 API itself a few years from now. In fact, it's likely to gradually replace the Win32 API (in my opinion).
On the other hand, the
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
I've programmed for Mac, Unix, Win32, and Java, and I've never experienced an easier platform for writing GUI apps than the combo of C#, .Net, and Visual Studio. (Now for writing algorithmically challenging apps, nothing beats Lisp, but....)
I think the C# language is a big improvement over Java (the language). So many lessons from years of Java experience have been incorporated into C#, that it's absurd to dismiss it as a Java "knockoff". It's Java done over again with the benefit of hindsight and a lack of legacy baggage combined with the ease of GUI building that made VB so popular (but without any trace of Basic).
Of course, the fact that it's realistically only for Windows (so far) is a huge drawback (for me). With Java, you can hop from platform to platform and from tool vendor to tool vendor (incl. open source) as they come and go, and there's a lot of security in that. (I seem to change Java IDEs every 18 months or so, and I like that I can do that.)
If both C# and Java were equally cross-platform and there were good C# tools from vendors other than MS, I'd choose C# over Java in a heartbeat for the language improvements alone. If I'm assured that the client wants Windows only, I'll use C# for sure. When I don't have that assurance, I'll stick with Java for safety. (Of course, if it's not a GUI app, and I don't need the type of safety you get by using a mainstream language, I think some form of Lisp or ML would be my first choice.)
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
These seem to be major issues about
- Microsoft doesn't use it for its own products. If
.NET is so good, why? If someone said, "I would never eat this, but here is some for you", would you take what was offered? - Programs written in
.NET are more easily decompiled. If you discover and
implement an especially good algorithm, others may be able to see what you did. Maybe
that is the reason for number 1, above. - All the tools are proprietary. The programmer and his employer become like dogs on a leash. Their fortunes are tied to the management decisions of the proprietary vendor. Computer company managements often make sink-the-company decisions; consider the
.com self-destruction, for example. When your company uses proprietary tools, your company is dependent on the lifestyle of the proprietary vendor's management, the vendor's ability to hire and keep good people, the vendor's financial decisions, and the vendor's estimation of whether they want to invest more in the tools you are using. - My understanding is that the license agreement for
.NET prevents a company from using .NET to compete with Microsoft in some areas. But how does a company know if software it develops will eventually compete with Microsoft?
Here are three of last week's articles about Microsoft:- Microsoft Windows: Insecure by Design
- (PDF file): The
Computer and Communications Industry Association (CCIA) urges the Department
of Homeland Security to stop using insecure (Microsoft) products.
-
Stupid
Microsoft Tricks -- Why the Richest Company on Earth Feels it Needs to
Cheat
So here's the question: Do you want your company to be tied to the fortunes of Microsoft? If you trust Microsoft to do the right thing for you and your company, then use Microsoft's proprietary tools.The mainstream media is starting to realize that Microsoft products are especially insecure.
The computer industry attempts to educate those in government about the insecurity of Microsoft software.
A famous industry columnist exposes an example of Microsoft's apparent dishonesty. When ordered by a court to produce all its email records concerning a company that alleges theft by Microsoft, there was a 35-week gap.
But remember, Microsoft's products regularly die. Not only do they die, but they die on schedule. It's assisted suicide: Windows Desktop Product Life Cycle Support and Availability Policies for Businesses. Bill Gates is the Dr. Jack Kevorkian of the software world. Mr. Gates has, for example, decreed the death of Windows 98, which is used by more than 100,000,000 people throughout the world. It's a little like Dr. Kevorkian expecting to do his work with Jennifer Lopez. Hey Dr. Gates, a lot of people think the patient is still very much alive!
Open source means never having to bark.
Just like Java bytecodes then. And I don't see too many people complaining about that.
My personal experience of .NET was mostly positive but found some serious bugs when working with Data Sources. One classic example is where I had a table which had a relationship with another table and in order to add fields to the parent table I had to remove the relationship. CLose and reopen the designer for the form which contained the table. Add the fields to the table then add the relationship back again.
There was absolutely no documentation of such poblems and the workaround only became apparent after much stuffing around. I found many such problems with ADO.NET and it made changes to the program very frustrating. Especially due to the Project manager asking to extra fields to be added and removed almost daily. Each change required changes in several different places.
http://www.kuro5hin.org/story/2003/7/11/21859/2846
The web-enabled features of .NET /VS make it killer for me. I've previously developed CGI/DLL's with SOAP API's using Delphi, which is my personal language of choice. However, for anything involving a web server, I'm seriously loving c# and .NET.
.NET, at least I have the possibility to port to Linux in future using MONO.
1) Writing SOAP applications. It is pretty much as simple as declaring a c# method as a web-method, and hey-presto, it's SOAP-able.
2) Step through debugging web applications (including web services).
3) Performance - nice fast execution, nice fast development.
4) If I develop now using
Unlike VB 6 and C++, which were at "opposite ends of the world," the differences between VB.NET and C# are minor, said Janacek, who began working with .NET while it was still in beta. "You can code in C# and show that code to a VB.NET programmer, who can read it straight out. The framework controls are identical. The syntax is a little bit different. But catching errors, writing to files--that's the same across languages," he said.
So C# is just VB.NET with squiggly brackets? MS are geniuses.
C# Builder
Not sure if this is what you're looking for but they will probably get it on linux before too long (like C++/Kylix).
Q.
Insert Signature Here
... to switch to Java instead and then move to Linux :o)
....)
...
Thanks for MS to have suicide their legacy techs !
(RIP : ASP, VB, MTS, COM, DNA,
By the way, what will be the next MS hype tomorrow ?
Instead of reinventing the wheel they better stick to their old modjo "extend and embrace" ! Better have stayed in the Java hype than trying to build an opponent
Anyway, those guys have bucks so they can waste zillion as the shareholders seem not to bother about profitability of the MS niche market (aka everything that is non-Windows, and non-Office).
I wish MS could be split !
Great, but look at this line on the Mono page to which you linked:
"Aug 14th, 2003: Mono 0.26 has been released"
Mono is a project, it is not yet an open source method to which you can ally your business.
I had very limited exposure to .NET (one desktop application talking to a J2EE Web Service). Here are some things I like (or not).
XML/XML Schema integration. You can define your entire object model in XML schema files, run a generator tool and have all the XML thingies as C# classes. You can marshall instances of those classes to XML and back with one line of code.
The closest thing to that in Java world is Castor .
Visual Studio IDE is nice. BUT, what is so special about code completion and fast double-click-on-class-name code navigation? Vi does not have those things, but Netbeans (and or IntelliJ) do. Also VS code completion fails miserably for no apperant reason sometimes.
Visual Studio is too expensive and has licensing restrictions on what you can and cannot do with it. To me it is a major turn-off: why freaking TOOL vendor has to dictate what my product can and can't do???
C# does not require your method to declare exception being thrown if the code inside the method throws it. Sure it leads to faster development, but, IMHO, leads to overall sloppiness in the long run as well.
There are nice open-source tools available, including JUnit clone, sharpunit.
GUI building with Windows Forms is ok and simple but not even close to what experienced Swing programmer can do.
.NET did not catch up as fast as I expected (mostly due to terrible Microsoft marketing), but it will, I think Mono is our only hope.
"The articles you linked to are simply irrelevant to the
Your tools provider is a business partner. You should definitely worry about the reputation of your business partners. They will not treat you better than they treat everyone else.
More information to add to the above:
I've read about overly restrictive Microsoft EULAs, but this is all I can find now.
Runtime Runaround. (You can't use a program you wrote in the Microsoft FoxPro language under Linux.)
Remember this about EULAs: They bind you now. However, maybe the most scary thing about EULAs is that the vendor can change what they say in the future, after you have heavily invested in your tools, and cannot easily change. Basically, you can be held to a contract to which you didn't agree and which did not exist at the time you first made your decision to use a particular tool. Yes, you can always use the old tool under the old EULA, but the computing industry changes fast and you may need an update. If you need the update, then you either agree to the new EULA or spend the huge amount of time and money necessary to change tools. Moral: Choose your business partners carefully. They have serious control over your future. It's like getting married. You want someone you can trust with your life. When you pick a tool vendor, you want someone you can trust with your corporate life.
In the first comment to the story linked above, there is mention of a Microsoft EULA prohibiting benchmarks.
You are prohibited from using VNC, an excellent free program for remotely interacting with a desktop, with Microsoft Windows XP. See the bottom of this article by Brian Livingston: "Except as otherwise permitted by the NetMeeting, Remote Assistance, and Remote Desktop features described below, you may not use the Product to permit any Device to use, access, display, or run other executable software residing on the Workstation Computer, nor may you permit any Device to use, access, display, or run the Product or Product's user interface, unless the Device has a separate license for the Product."
These are just notes about what Microsoft feels it has a right to do.
Even more info:
This EULA from Microsoft's web site limits free speech: "5.9 Benchmark Testing. You may not disclose the results of any benchmark test of the
The point is not that this particular clause causes you difficulty. The point is that it illustrates that Microsoft believes it continues to have enormous power over its products after you have paid for them.
given that .Net is really just Redmon-sanctified Java? Given that this is the case, how yummy could an MS targeted development platform get? Of course, my .Net is Java. On OS X. Thanks MS, but no thanks.
Quod scripsi, scripsi.
I figured that symantics visual cafe was on par with vb 6 ide. Also netbeans, and eclipse are getting pretty close to full ide, with GUI development, web authoring and publishing and web services. Netbeans is actually pretty cool.
Only 'flamers' flame!
Does slashdot hate my posts?
I think the C# language is a big improvement over Java (the language). So many lessons from years of Java experience have been incorporated into C#, that it's absurd to dismiss it as a Java "knockoff".
There are some really excellent improvements in C# that have Java playing catch-up -- lots of syntactic sugar like autoboxing, and of course the metadata.
But there are also some really fundamental design considerations in Java where C# just completely missed the boat -- like virtual. Gads, do I not miss virtual! It's inconceivably stupid to have a modern OO language in which you have to explicitly declare things to be polymorphically typesafe. Blech^3.
In general, I think C#'s designers have been a little eager to include features, and have left the language a little more semantically rough-edged than Java. In that respect, they're ignoring some of what's made Java so great.
That's not to say that I'm not really, really, really eager for the features in Tiger that are already available in C#!
I can't speak for VC, Netbeans, or Eclipse as I haven't used them extensively, but JBuilder has been the cat's meow for us on the project I'm on now. I've got everything I had in VS.NET and a little more. Having also earned my chops in .NET, I can tell you that the big difference between them (aside from .NET vs. Java) is in ease of setup. It was a bear to get JBuilder 8 SE set up to do server process debugging in Tomcat and Tapestry. VS.NET can be a bear to set up too, but only as the exception, not the rule.
Either environment is a dream to use. I sometimes miss the simplicity of VB6 or Python, but those really aren't options for me anymore.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Comment removed based on user account deletion
...are available on RubyForge. Makes it even easier to reuse .NET code...
The Army reading list
For me, the major point is that if I develop with
Choosing
If you look at the evolution of
So many people find it difficult to look 5 years ahead. But, after watching the fortunes of Novell and PowerSoft, to name just two, I find it easy. If
Those who don't worry about decompilation of byte-code programs probably don't have much experience with it. It's easy, partly because
Programs that are truly compiled are far more difficult to reverse engineer.
The only thing that can save you from inappropriate control by one company are truly world-wide standards.
If I had been thinking more clearly, I would have let Bjarne Stroustrup do the talking, instead of me: What do you think of C#?
Somewhere he has given an opinion about
Somewhere else, that I can't find now, Mr. Stroustrup made much stronger statements about
From Linux Journal, Interview with Bjarne Stroustrup:
LJ: What do you think about the
BS: I still know too little about .Net to be comfortable writing about it.
LJ: Can C# be a universal language for everything?
BS: No. It's too high level for many kinds of systems programming, too specialized to Windows for many other kinds of programming and proprietary. That, of course, doesn't mean it cannot be a good tool for the middle-of-the-road Windows applications it is designed for.
LJ: But .NET is a platform that
can be designed for various OSes. For
example, there are some steps available from Microsoft to make that platform
for FreeBSD. Do you still think that it's too specialized to Windows?
BS: Let's wait and see how things develop. Currently .Net is a Microsoft
proprietary platform for Windows, and I don't expect to see significant
use of it elsewhere anytime soon.
perl for .net
perl -e '$_="\007/4`\cp%2,".chr(127);s/./"\"\\c$&\""/gees
Interesting. That is believable to me.
The thing I did just before looking at your comment was to read this message I just received by email:
"The biggest reason why I'm reluctant to working more on my C++ skills is that Visual C++ is a terrible tool. When setting up a project, one has to spend a considerable time in a non-resizable small modal window and enter lists of space-separated file paths. And that's only in the first few minutes of the use of the program."
I really, really want to like Microsoft's programming tools. If I could like them, it would simplify my life enormously. However, since the original Microsoft Basic, the languages have been sloppy. Another example: Everyone used Borland Assembler because Microsoft Assembler (MASM) would in many cases emit bad binary. The MASM manual was printed on a dot-matrix printer.
I just don't see the quality. I wish I did.
The cryptography classes on .NET suck. The only managed implementation there is Rijndael. The rest (RSA, MD5, SHA-1, etc) are just wrappers that call the Win CryptoAPI, which as we all know, sucks big time.
.NET doesn't even have a BigInteger class, with which to make a managed implementation of the RSA algorithm, for example, so that no "high encryption pack" is needed on non-US versions of Windows.
Go hug some trees.
Java is a good example of the low quality in the development tools we have compared to what is possible. It could be a fine language, but the people who make decisions about it don't love themselves and others enough to finish the job.
You are right: Choosing any language or environment is a bet-the-company decision.
What's even funnier is that, after being influenced by my post, they modded it as flamebait. So you went up, and I went down. That's the result of bored moderators visiting stories in which they have no interest because they can't comment and mod at the same time.
Comment removed based on user account deletion
isn't C#. It's the half ass implementation of schema and soap so that they don't conform 100%. It conforms to the point they want it, not conforming 100% so that will work with seamlessly with other implementations of the specs. But to be fair, both the soap and schema spec leave a lot of room for interpretation and therefore conflicting implementations.
Lack of clickable links
Everything seemed to be going so nice
'till the end of all beings punched right through the ice
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
Actually checked exceptions are controversial in Java as well. Bruce Eickel who wrote a few Java books for instance argues that there should be no checked exceptions.
Personally I like that exceptions are checked. It does get annoying at times to write try catch things for small programs but I do not think this is any different from the Python/Perl/Ruby people who diss the idea of explicit types. Its all about the language enforcing some iscipline on the programmer which leads to more reliable software.
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
I mean, I haven't really read on the subject. I skimmed through a 400 pages book in an evening, trying to see C#'s features, and how it compared to Java, and while it has some interresting concepts, like the "using" instruction, I find it to be less usable than Java or C#. Like Java, C# is more of less a dumbed down C++. The problem is that it's a badly dumbed down C++. You have to specify if a function is virtual or not, you might even have to specify destructors! When I started coding in Java, I was glad that virtual was by default and that I never had to write a destructor to free resources, since the language did it for me. But you still have to do it in C# sometimes. From what I've learned so far from C#, it's a pretty average language.
Now don't get me wrong. I'm really good in C++ and don't have problem writing destructors, virtual methods and managing memory, it's just that I'd rather not have to think about them and concentrate on features, and Java seems to be a great tool for that.
I'd be very happy to hear from someone who tried both, and still like VS.NET more.
I have never used any of the MS Visual tools. From what you are describing, it seems like Java is further "dumbed down." As you pointed Java does not make you responsible for creating a desctuctor and it assumes that all functions are virtual where C# does not. How is that not less "dumbed down?"
One other thing about Java's garbage collector. If you are writing applications that need lots of memory, the garbage collector does not always run before you need it to. I believe it is possible to force the garbage collector to run but on the version I used (about a year ago) we had all kinds of problems getting this to work.
I would much rather have control over the memory instead of the language being "dumbed down" enough so that you don't have the control.
Great, now we have another way for people to write code that will turn our machines in to security nightmares. At least with C# the chance for buffer overflows is lessened and the attacker has new and different avenues for exploiting your programs.
Sigh.
At least for traditional ms developers .NET makes lots of work easier than before (maybe painful for some of them ;-)). I like it.
There is a code documentation tool in Visual Studio.NET that does the thing of extracting xml comments out, using them to annotate your class hiearchy, and then dumps the whole lot into a set of html pages.
The result is absolutely beautiful, and I prefer it to JavaDoc.
This is my sig.
I'm not going to say what I like about .NET (but I like it a lot), but why I am dissapointed with JAVA
1 - Everybody programs in it (or thinks so)
2 - Too many edition: there's server edition, standart, mobile, toilet edition, Javacard, javadrugs, and Java tamagotchi edition
3 - Language is a bitch. The bastard who invented typesafety (I know, not just in Java) reminded me of an old story about people being cut or stretched to fit in their beds. I guess he sould be banned out of his bed if he's just an inch bigger or smaller (please, cutting numbers is OK, most of the time)
And Java bitches too much about safety and parameters. If I don't want it to be safe, don't make me do it.
Ok, I've bitched enough
how long until
First, in .NET, developers are no longer defined by the languages they use. While a C++ developer is widely considered more skilled than a Visual Basic programmer, .NET levels the playing field, positioning C# and VB.NET programmers in the same league.
Second, as .NET developers write less code and spend more time "uncovering" components in the framework and mapping those components to business processes, the role of the application developer is changing.
So the language used is supposedly irrelevant, and developers using .NET supposedly have to write little to no code.
Sounds good to me. I can use .NET without learning a new language.
Then the article says:
While all .NET languages are technically on equal footing, VB.NET and C# are widely regarded as the two most popular. Unlike VB 6 and C++, which were at "opposite ends of the world," the differences between VB.NET and C# are minor, said Janacek, who began working with .NET while it was still in beta. "You can code in C# and show that code to a VB.NET programmer, who can read it straight out. The framework controls are identical. The syntax is a little bit different. But catching errors, writing to files--that's the same across languages," he said.
Because VB.NET and C# are so similar, in effect the framework is the language itself, added Janacek. "How you structure an IF statement is minor compared to what that IF statement accomplishes through the framework. The language is deprecated, and the framework is elevated."
So for a framework that could support ALL languages, and that supposedly requires little to no coding, Microsoft created a WHOLE NEW LANGUAGE, that looks a LOT like VB to make using this development environment easier?
What am I missing?
I m taking a WebServices class at a university, and .NET Visual Studio is a requirement, and all the projects will be done in .NET .
.NET is easier to install and work with since it is GUI based.
The Reason:
Real Life developing doesn't always include a nice GUI. What about making Student learn the whole technology stack, from installation to configuration to usage????
I remember when I was in school for my undergrad we were made to install our own instances of Objectivity and Oracle and other Java related stuff before we started doing our projects, so that we learn the whole technology stack, and not just click our way through a GUI.
And I think I learned a lot more, when I fully understood the underlying technology.
Consensus is good, but informed dictatorship is better
Most of the negative .NET comments here seem to be from people who haven't worked with it much. Big surprise ;)
.NET is a godsend. I've been using it for two years now, and there are too many good things about it to list here. I think it's better than Java in many ways. I'm certified in Java 2 (and I also use Linux), and I still feel that Java is better than most other environments, but I feel the same way about .NET now that I felt about Java in 1997-98. That is, it rocks.
.NET:
.NET 1.0 - I haven't had time to check 1.1 yet).
.NET has its place, just like Java, Perl, Ruby, C++, shell scripts, or any other technology you can name.
Most of my work is for Windows shops, and to me
Now that my breathless compliments are out of the way, here are a few specific things I don't like about
- The ADO.NET classes are not really designed to be subclassed - the serialization gets all screwed up because DataSet tends to assume everything underneath it is a standard ADO.NET class (at least on
- I haven't yet decided whether I think not being able to declare exceptions thrown, and force them to be handled, is a good thing.
- ViewState in ASP.NET is nice for simple applications, but the default serialization format for most things is big. Using ViewState is tricky when you don't know how many or what controls you want to use up-front, and you have to add them dynamically.
Basically, my viewpoint is: evaluate technologies on their own merits; recognize and challenge your own assumptions; and use the right tool for the right job.
Read my keyboard review.