PDA

View Full Version : Visual Studio 11 Beta can be downloaded for free.



W1GUH
03-13-2012, 06:56 PM
Here (http://www.microsoft.com/visualstudio/11/en-us)

Looks like the full language, including all the .net languages.

This is not software for people who like typing "boiler plate code." If you LOVE typing #include<stdio.h> or #include<stream>, then this IDE is not for you - you're better off with old-fashioned stuff. THIS IDE writes most, and ALL in some cases, of all that garbage that all programs need.

Programming GUI's in the .net IDE is practically trivial - all you have to fill in is you custom code that does what the widget wants to do.

Again, not for *nix people - they like spending time in the details. Also not for people who swear by their Model T's with a crank starter!

But if you want a very highly productive and efficient GUI program, the is, really, the only choice these days. Of course, ya gotta get over you anti-MS bias - but this makes that particular task very easy. The reward is great.

And if you're a Java type, be prepared to be nicely surprised at how much MS improved that concept, AND gives you native code, not the idiotic byte codes. OK, ok...lots of installed base for Java, and if you have to maintain that code, well, you're stuck. But for new development, you really, really, really should check out C#.

NQ6U
03-13-2012, 07:56 PM
(http://www.microsoft.com/visualstudio/11/en-us)This is not software for people who like typing "boiler plate code."

Not for us Mac/Linux users either.

W1GUH
03-13-2012, 10:42 PM
Not for us Mac/Linux users either.

Like I said...


"Again, not for *nix people - they like spending time in the details"

KC2UGV
03-14-2012, 08:06 AM
Like I said...


"Again, not for *nix people - they like spending time in the details"

Or, they like building transportable code, that will build on any OS.

W1GUH
03-14-2012, 08:16 AM
We covered that before -- .net applications are totally migratable from wintel platform to wintel platform. Not many mainstream wintel users give a shit about *nix.

KC2UGV
03-14-2012, 08:18 AM
We covered that before -- .net applications are totally migratable from wintel platform to wintel platform. Not many mainstream wintel users give a shit about *nix.

And things not written in .Net can be compiled on *Nix, Mac OS, and Windows. Intel, SPARC, Alpha, ARM, and Via.

N1LAF
03-31-2012, 06:35 AM
JAVA is preferred by many for being platform independent. But how can a program like JAVA interact with hardware, like a USB or serial port?

Can C#/.net access hardware?

n2ize
03-31-2012, 10:05 AM
Here (http://www.microsoft.com/visualstudio/11/en-us)

Looks like the full language, including all the .net languages.

This is not software for people who like typing "boiler plate code." If you LOVE typing #include<stdio.h> or #include<stream>, then this IDE is not for you - you're better off with old-fashioned stuff. THIS IDE writes most, and ALL in some cases, of all that garbage that all programs need.

Programming GUI's in the .net IDE is practically trivial - all you have to fill in is you custom code that does what the widget wants to do.



This is not new. I can already do that with Qt or any number of development platforms. Designing an IDE that allows you to visually construct your GUI and then writes the boilerplate code and connects the widgets for you is a no brainer. That kind of app has been around for a long time on all different platforms. What is far more important is the non-boilerplate code. The underlying code that solves the actual problem (whatever it may be) and how well it has been designed is mainly what I'm interested in.

The other problem is that it locks you into wintel. When I build an app I want it to run (or at least compile to run) on as many different machines and op-systems as possible. If C#/.NET apps can only be migrated from wintel to wintel then that sucks. Unless I work for Microsoft why would I want to limit an app just to one platform ? MS needs to move into the 21st century. The old days of the 1980's and 1990's of "only one computer and only one operating system" are long over. It's time for MS to get with the program and move into the present.

n2ize
03-31-2012, 10:11 AM
And things not written in .Net can be compiled on *Nix, Mac OS, and Windows. Intel, SPARC, Alpha, ARM, and Via.

Exactly which is my point. Why would I want to build an app and then limit it to only one platform ? Unless of course it is written only for my personal use. But if its distributed I want it to compile/run on as many platforms as possible.

W1GUH
03-31-2012, 05:14 PM
Exactly which is my point. Why would I want to build an app and then limit it to only one platform ? Unless of course it is written only for my personal use. But if its distributed I want it to compile/run on as many platforms as possible.

Unless you're only interested in Wintel users, which does, after all, represent the vast majority of PC users. Not to mention those that run Windows on their macs.

W1GUH
03-31-2012, 05:20 PM
JAVA is preferred by many for being platform independent. But how can a program like JAVA interact with hardware, like a USB or serial port?

Can C#/.net access hardware?

I've already done serial ports & that's just another widget in the GUI editor. Sets it all up and the programmable functions of the port are properties of the instantiation of the COM class. Haven't done anything with USB ports.

JAVA's platform independance comes with a steep price. It doesn't make native machine code. It makes "Byte Codes" and then an interpreter interprets those Byte Codes during execution. C# is "compile once". When a C# program is installed, if the machine doesn't have the compiler already, it will be installed automatically. So C# executes native code and doesn't have the performance penalty that Java incurs.

n2ize
04-01-2012, 09:32 AM
Unless you're only interested in Wintel users, which does, after all, represent the vast majority of PC users. Not to mention those that run Windows on their macs.

That's my point. If It locks me into wintel and wintel only for me that's disadvantageous. I read somewhere that it may be possible to port C# to other platforms but it's rather difficult. On the other hand some sources claim C# is supported across various platforms. Who knows ?

n2ize
04-01-2012, 09:50 AM
I've already done serial ports & that's just another widget in the GUI editor. Sets it all up and the programmable functions of the port are properties of the instantiation of the COM class. Haven't done anything with USB ports.

JAVA's platform independance comes with a steep price. It doesn't make native machine code. It makes "Byte Codes" and then an interpreter interprets those Byte Codes during execution. C# is "compile once". When a C# program is installed, if the machine doesn't have the compiler already, it will be installed automatically. So C# executes native code and doesn't have the performance penalty that Java incurs.

You might take a performance hit when using an interpreter versus running native machine code but these days that's not too much an issue. With improved efficiency of the interpreters being used and today's fast processing speeds there is generally little, if any, noticeable performance degradation between the two. Even on my now obsolete 2.4 Ghz 32 bit machine any Java bytecode, or any other interpreted languages runs as fast and as smooth as shit from a duck's ass.

W1GUH
04-01-2012, 10:57 AM
You might take a performance hit when using an interpreter versus running native machine code but these days that's not too much an issue. With improved efficiency of the interpreters being used and today's fast processing speeds there is generally little, if any, noticeable performance degradation between the two. Even on my now obsolete 2.4 Ghz 32 bit machine any Java bytecode, or any other interpreted languages runs as fast and as smooth as shit from a duck's ass.

I normally don't write/run shit from a duck's ass.

kf0rt
04-01-2012, 12:06 PM
That's my point. If It locks me into wintel and wintel only for me that's disadvantageous. I read somewhere that it may be possible to port C# to other platforms but it's rather difficult. On the other hand some sources claim C# is supported across various platforms. Who knows ?

As far as I know, C# is compiled to native code, just like C++. So yeah, you can do C# on just about any platform, but the portability is pretty limited because of the OS tie-in. A Windows display API call won't work on Linux, etc. A "pure math" algorithm should be portable, but you'd still have to recompile the source. The interpreter (Java, etc.) is what makes any language truly platform independent. There, you have platform specific interpreters. The Java interpreter for Windows is not the same as the Java interpreter for Linux, but they will (should) both execute the same code with the same effect.

I'm surprised at the comment that interpreted code imposes little in the way of a performance penalty. That defies the laws of physics. ;)

W1GUH
04-01-2012, 01:14 PM
As far as I know, C# is compiled to native code, just like C++. So yeah, you can do C# on just about any platform, but the portability is pretty limited because of the OS tie-in. A Windows display API call won't work on Linux, etc. A "pure math" algorithm should be portable, but you'd still have to recompile the source. The interpreter (Java, etc.) is what makes any language truly platform independent. There, you have platform specific interpreters. The Java interpreter for Windows is not the same as the Java interpreter for Linux, but they will (should) both execute the same code with the same effect.

I'm surprised at the comment that interpreted code imposes little in the way of a performance penalty. That defies the laws of physics. ;)

It woulds seem. But with today's screaming machines & the simplicity of a lot of Java functions I thought the comment was actually reasonable.

Re: Java Bytecodes....

Y'know...if the Java powers-that-be would "get it" and re-do Java as a "compile once" language and get rid of those things, it's make Java a "little" more acceptable. And, since my experience is old (circa 2004), it could be making GUI's is better today. What I remember is an inflexible and awkward system of laying out a GUI. Seemed like Java had never heard of "pick and place." It was a BITCH to get a decent layout.

But even with that, the deprecation that happens in Java is just unreasonable. There oughta be a law about "public deprecation!"

KC2UGV
04-01-2012, 05:32 PM
I've already done serial ports & that's just another widget in the GUI editor. Sets it all up and the programmable functions of the port are properties of the instantiation of the COM class. Haven't done anything with USB ports.

JAVA's platform independance comes with a steep price. It doesn't make native machine code. It makes "Byte Codes" and then an interpreter interprets those Byte Codes during execution. C# is "compile once". When a C# program is installed, if the machine doesn't have the compiler already, it will be installed automatically. So C# executes native code and doesn't have the performance penalty that Java incurs.

C# uses the .NET Common-Lanuage-Runtime to execute. It's "bytecode JIT" compilation.

n2ize
04-02-2012, 02:56 AM
I'm surprised at the comment that interpreted code imposes little in the way of a performance penalty. That defies the laws of physics. ;)

There is a performance penalty and yes it can be measured. But on today's fast processors it is generally not an issue and for all intent and purpose most interpreted programs will run fast enough for it not to be an issue as far as the user is concerned.. Of course whether it becomes an issue is going to depend on the program itself and what it is designed to do, how efficient the underlying algorithm is, etc. Much of the web runs on interpreted languages, i.e. php, perl, python, ruby, etc. and, for the most part, things generally tend to run smoothly

n2ize
04-02-2012, 03:09 AM
It woulds seem. But with today's screaming machines & the simplicity of a lot of Java functions I thought the comment was actually reasonable.

Re: Java Bytecodes....

Y'know...if the Java powers-that-be would "get it" and re-do Java as a "compile once" language and get rid of those things, it's make Java a "little" more acceptable. And, since my experience is old (circa 2004), it could be making GUI's is better today. What I remember is an inflexible and awkward system of laying out a GUI. Seemed like Java had never heard of "pick and place." It was a BITCH to get a decent layout.

But even with that, the deprecation that happens in Java is just unreasonable. There oughta be a law about "public deprecation!"

As Corey points out neither C# or modern day Java are "interpreted". Both C# and Java are compiled into Bytecode (in the case of C# it's called IL) and and both are JIT compiled at run time. So, under the hood they are similar.

Far as GUI development on Java goes there are various java IDE's/ RAD's that provide visual GUI (pick and place) design. Building a GUI with only a text editor is going to be difficult in any language whether it be Java, C++, C#, etc. That is the reason that some developers liked things like Delphi, or Qt designer, etc.