• Quick note - the problem with Youtube videos not embedding on the forum appears to have been fixed, thanks to ZiprHead. If you do still see problems let me know.

.NET - what's the big deal?

bigred

Penultimate Amazing
Joined
Jan 19, 2005
Messages
22,698
Location
USA
Just wondering. This is all the rage now, like C used to be.
 
Strange, haven't heard anything about it for a year. I work in Java and it was being hyped as the Java-killer a couple of years ago.

If you work with other languages, like VB or VC++, it's probably very big.
 
I am just learning it now, in my current job.

It's the Microsoft 'java killer', which means that it won't be killing anything.

It's just a way of creating a portable application platform, modelled on the Java initiative.

Unlike Java, it is not language centric. All the standard programming languages can run on it, and call modules written in other languages. Microsoft directly supports (at least), C# (a Microsoft response to Java), C++ (managed and unmanaged) and Basic. Because the languages are all compiled down to run on the same VM using the .Net intermediate language, many other programming languages are supported.

Managed code is that which is guaranteed to be memory safe, (that is, no pointers). C++ can be programmed in managed mode, or unmanaged mode. If you use unmanaged mode, you are responsible for looking after memory.

If you use managed mode, memory garbage collection is done for you automatically.

Microsoft, of course, only supports Windows with it's products, but the specification for .Net is open, so there is an open source project called Mono to replicate the .Net 'runtime', or framework, which is called Mono. I do not know how complete the implementation is, but it is apparently planning to replicate the lot, eventually.

The Visual Studio offers a very comprehensive set of advanced objects for .Net programmers. Eg, the Dataset is a memory resident set of tables. These can be passed as parameters to object methods. The tables can be saved to disk as XML, and read back, using one method call.

The columns in these tables are first class objects. That is, when you create a table definition, Visual Studio will then create code that defines the columns as table properties. Autocomplete will then fill in the table column names. One of the big frustrations I had with programming before was reading in a table, then having to put in a quoted string to refer to the table columns. Thank Ed those days are gone.

It also has other goodies, such as built in encryption objects.

It has 'remoting', which lets programs talk to each other using HTTP or TCP, on the same computer, or anything they can connect to.

You can build Web applications using it. There is a comprehensive set of web objects to display tables, or anything else you want.

C#, which is what I am using to program with, is a nice 'Java+'. Although C# and Java are in a competitive race to outdo each other with advanced programming features. For example, they both allow iteration over a set of entries in a table without having to use the error prone drudgery of a 'for' loop with index variables. They now both support 'generics', so you can write an algorithm that will work with any data type (that makes sense for that data type).
 
a_unique_person said:
It's the Microsoft 'java killer', which means that it won't be killing anything.

It's just a way of creating a portable application platform, modelled on the Java initiative.

A Java killer from Microsoft, eh? Does that mean that "Hello World!" runs to 16Mb and only works on Windows machines? :p
 
My wife's team are using it more and more as they work on windows (SQL server and web apps). All MS stuff now seems to be set up so the no-brainer is to code using .net. I bought her "Microsoft .net kick start" by Hitesh Seth which looks good.
 
Wudang said:
My wife's team are using it more and more as they work on windows (SQL server and web apps). All MS stuff now seems to be set up so the no-brainer is to code using .net. I bought her "Microsoft .net kick start" by Hitesh Seth which looks good.
Hmmmm - I thought we were migrating to it to get AWAY from SQL Server, but maybe they're going to run together, not sure offhand. (Note: I have not been a programmer for a long time, so bear w/me if my grasp on all this out of whack....)

unique, I'll need more coffee to digest your response, but appreciate it :)
 
I'm sure .NET is used a lot where people were already using VB and VC++. As far as I can tell, it's had very little impact outside of that. It's not cross-platform and no one trusts MS to believe they are going to make it cross-platform to stick their neck out.
 
??? Based on the above comments, I thought it sounded very "cross-platform"......unless I'm so out of it that I'm not understanding the term properly....
 
bigred said:
??? Based on the above comments, I thought it sounded very "cross-platform"......unless I'm so out of it that I'm not understanding the term properly....

Lots of microsoft platforms. Eg, phones, servers, media centres, just as long as they run microsft operating systems.

'Mono' is strictly a labor of love, if I understand it correctly, but it works.

.Net is multi language, however.
 
One benefit of .NET is that you can charge gullible clients more. "Of course, we're on the cutting edge of technology, so the product will be totally implemented in .NET" The client, impressed, murmurs in appreciative awe, and you can tack on a little something-something to the bill.
 
Well, it is worth it if .Net gives you some advantages by using the technology.

Ones that readily come to mind are.

Many built in technology objects that are immediately useful.

Eg.

XML
Datasets
Encryption
Memory Protection.
Security.
Remoting - this is good, it gives you access to remote objects.
Web Pages

and lots more I haven't had time to learn yet.
 
bigred said:
??? Based on the above comments, I thought it sounded very "cross-platform"......unless I'm so out of it that I'm not understanding the term properly....

Because .NET is complied to bytecode and is an published standard, I know shocking for MS, virtual machines could be written for other platforms. Much like Java does, but again no one trusts MS to not tweak the standard or put platform specific Windows only "features".
 
a_unique_person said:
Well, it is worth it if .Net gives you some advantages by using the technology.

Ones that readily come to mind are.

Many built in technology objects that are immediately useful.

Eg.

XML
Datasets
Encryption
Memory Protection.
Security.
Remoting - this is good, it gives you access to remote objects.
Web Pages

and lots more I haven't had time to learn yet.
And this is not true of Java or C or what have you?

And yes that's a sincere question - as I say, my serious programming ended back around the time of the abacus (well maybe not quite that bad but you get the gist).
 
IllegalArgument said:
Because .NET is complied to bytecode and is an published standard, I know shocking for MS, virtual machines could be written for other platforms. Much like Java does, but again no one trusts MS to not tweak the standard or put platform specific Windows only "features".
Again, can't Java do that also?

If they're comparable in many ways, maybe cost is an issue, or is one particularly easier to learn/use/maintain than the other? Inquiring minds want to know. :) Thx
 
Update: I have recently learned .NET is not a programming language. Maybe we should back up a little :p

From the MS site - they say

"The .NET Framework is a development and execution environment that allows different programming languages & libraries to work together seamlessly to create Windows-based applications that are easier to build, manage, deploy, and integrate with other networked systems. "

(blah blah - friggin corporate-speak)

I'm starting to think this is more of a BS fluff term than I initially thought-?
 
bigred said:
Again, can't Java do that also?

If they're comparable in many ways, maybe cost is an issue, or is one particularly easier to learn/use/maintain than the other? Inquiring minds want to know. :) Thx

Like I said in the quote, Java can do this. I have heard that .NET has some nice features, but again not cross-platform.

And before someone chimes in saying that isn't important, the last three jobs I had required us to run on unix. Windows has gotten better, but it's still isn't a enterprise server platform for a lot of applications. Cross-platform matters.
 
Not to the gov't. :rolleyes: They'll always follow the MS herd.

Getting back to Java a bit...other than the cross-platform thing, what does that buy me that I can't do with a combination of SQL Server and .ASP (and maybe a little VB front-end)?

(PS I realize I may be mixing apples and oranges some, but wtf)
 
bigred said:
Not to the gov't. :rolleyes: They'll always follow the MS herd.

Getting back to Java a bit...other than the cross-platform thing, what does that buy me that I can't do with a combination of SQL Server and .ASP (and maybe a little VB front-end)?

(PS I realize I may be mixing apples and oranges some, but wtf)

To be honest if you are doing small scale stuff, cross-platform gets you nothing. Of course you could do use mysql and jsp to do the same thing.
 
bigred said:
And this is not true of Java or C or what have you?

And yes that's a sincere question - as I say, my serious programming ended back around the time of the abacus (well maybe not quite that bad but you get the gist).

Being not at all an expert on Java, I do believe that Java is capable of anything .Net is. It is a matter of the support for doing it easily that is the issue, and I don't know the details at all of the Java side of it.
 

Back
Top Bottom