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.
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
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
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.
you don't?
you should.
you will.
you do.
they're ridiculously well decompiling(any turd, including me, can do it using the tools available), and even obfuscation(with obfuscation tools) doesn't make it very unreadable. though, when building server/client stuff.. maybe it's just good, at least you won't end up kidding yourself that you can trust the information that comes from the client. obfuscation makes the class files smaller though, sometimes handy for j2me(j2me apps/games in general oth stay so small usually that the obfuscation is a joke as far as obfuscation goes).
-
world was created 5 seconds before this post as it is.
http://www.kuro5hin.org/story/2003/7/11/21859/2846
Uh. Thats just an IDE.
They could port that IDE to Linux, but unless they also want to rewrite the entire framework, you are only going to be able to run the code on windows.
Mono etc. is what will get c# to linux
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.
"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.
...are available on RubyForge. Makes it even easier to reuse .NET code...
The Army reading list
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.