Slashdot Mirror


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."

15 of 161 comments (clear)

  1. i like .NET by sumho · · Score: 4, Interesting

    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
    1. Re:i like .NET by undef24 · · Score: 4, Informative

      The .NET Framework SDK has an awesome Class Reference. I have found that it even has more sample code than javadocs most of the time. This is also available on MSDN.

  2. What I like about .NET by Inoshiro · · Score: 4, Interesting

    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.

    Plus, the GUI programming is ultra easy with the model for messages that .NET uses with C# applications. I found it much easier than working with SWING applications.

    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.
    1. Re:What I like about .NET by DevilM · · Score: 4, Interesting

      BTW, the reason for this is that Apple got off their but and made sure Java works like a chap on Mac OS X. They implemented the Aqua LAF using their native widgets, so there is no difference between Java and native applications. The same could have been true for Windows, but obviously Microsoft felt different.

  3. The IDE by vandel405 · · Score: 4, Interesting

    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.

    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 .NET, which i haven't found many.

    1. Re:The IDE by innosent · · Score: 4, Interesting

      Good point, and you're right. The only other IDE I know of that is IMHO as good as VS is Anjuta. Automatic word completion and pop-up class heirarchies are the most productive thing in an IDE ever created. I can fly through sets of code used on an object in less than half the time, because I only need to type 10 letters on an average line. Things like param = cmd.Parameters.Add("@username", SqlDbType.Char, 15), can be typed in with cmd.P.A("@username", [down 3], 15).

      Do that a hundred times or so for different strings or objects, and you'll appreciate it. Don't get me wrong, I type very fast, but why should I have to? Especially on repetitive things like that.

      The only complaints I have are in VB, where a lot of things have been removed, and only about half of them are implemented in .NET. Try opening a com port in VB.NET (hint: you'll be using the C APIs the entire time). And no, I don't like VB/C#/VC++, but I do like paychecks.

      --
      --That's the point of being root, you can do anything you want, even if it's stupid.
  4. What I like best about .NET by QuantumG · · Score: 4, Funny

    Is that human resources people who demand 3+ years experience. Those guys are great.

    --
    How we know is more important than what we know.
  5. Comment removed by account_deleted · · Score: 5, Informative

    Comment removed based on user account deletion

  6. blah blah ... and hit a button by Darth_Burrito · · Score: 5, Insightful

    The article kept hitting on this point:

    "It's a cultural change ... "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."

    I really don't understand how .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.

    1. Re:blah blah ... and hit a button by WasterDave · · Score: 4, Funny

      "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."

      Yeah, I agree, it never works like that does it? Worse still this is the silver bullet mantra that's been trotted out since VB3 showed up. And probably before too.

      "With COBOL we write just the business logic, practically in English." - Johnny Coder, Circa 1968

      Will we ever learn?

      Dave

      --
      I write a blog now, you should be afraid.
  7. SSL and TCP/IP by Burb · · Score: 4, Informative
    I absolutely concur about the omission of SSL from the supplied .NET classes. I was working on a .NET project last year and found out that SSL wasn't implemnented as standard depressingly late in the day. Partly my fault.

    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.

    --

  8. I totally agree by GCP · · Score: 5, Interesting

    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."
  9. These seem to be major issues: by Futurepower(R) · · Score: 5, Insightful

    These seem to be major issues about .NET:
    1. 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?
    2. 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.
    3. 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.
    4. 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:
    1. Microsoft Windows: Insecure by Design
      The mainstream media is starting to realize that Microsoft products are especially insecure.
    2. (PDF file): The Computer and Communications Industry Association (CCIA) urges the Department of Homeland Security to stop using insecure (Microsoft) products.
      The computer industry attempts to educate those in government about the insecurity of Microsoft software.
    3. Stupid Microsoft Tricks -- Why the Richest Company on Earth Feels it Needs to Cheat
      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.
    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.

    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.
  10. Re:So it's just a VB replacement? by hoggy · · Score: 4, Interesting
    I don't really like C# because it just seems to be an inferior Java clone.

    Looking at the upcoming 1.5 release of Java, it seems to me that Java is copying features from C#. From a Sun article on what's new in Java 1.5:


    Do you want to give us a simple take-home message for each of the six areas of improvement?

    I'll give it a whirl...

    Generics - Provides compile-time type safety for collections and eliminates the drudgery of casting.

    Enhanced for loop - Eliminates the drudgery and error-proneness of iterators.

    Autoboxing/unboxing - Eliminates the drudgery of manual conversion between primitive types (such as int) and wrapper types (such as Integer).

    Typesafe enums - Provides all the well-known benefits of the Typesafe Enum pattern (Effective Java, Item 21) without the verbosity and the error-proneness.

    Static import - Lets you avoid qualifying static members with class names, without the shortcomings of the Constant Interface antipattern (Effective Java, Item 17).

    Metadata - Lets you avoid writing boilerplate code, by enabling tools to generate it from annotations in the source code. This leads to a "declarative" programming style where the programmer says what should be done and tools emit the code to do it.


    Besides generics (due in the next C# release) and static imports, enhanced for loop, autoboxing, enums, and metadata are all features of C#.NET. Frankly, I think the .NET metadata system is substantially better. I also like delegates far better than anonymous inner classes, which I consider to be a sledgehammer to crack a very small design pattern.

    Exactly what do you find to be inferior?
  11. Your tools provider is a business partner. by Futurepower(R) · · Score: 4, Interesting


    "The articles you linked to are simply irrelevant to the .NET discussion."

    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.