Scott Guthrie has announced that Visual Studio 2008 and .NET 3.5 are now available for download and provides a tour of some of the new features. “Visual Studio 2008 and .NET 3.5 contain a ton of new functionality and improvements. Below are links to blog posts I’ve done myself as well as links to videos you can watch to learn more about it.”
Visual Studio 2008, .NET 3.5 Released
85 Comments
-
2007-11-20 3:58 pmmiguel
I know I can always count on Segedunum to get his facts wrong:
LINQ == ActiveRecord. End of story.
I already commented on the vastly different approaches to those two.
As a complement, in general, there are a number of ActiveRecord implementations for .NET that you can use or variations on the theme.
But LINQ is not such a variation.
Another posted commented on LINQ and XPath and XQuery. Although you can certainly do everything XQuery can do with LINQ for doing XML processing, LINQ is not limited to XML.
The “XQuery-replacement” facade is basically using LINQ with a couple of XML construction and query classes. But LINQ is much more powerful, the pieces that make it up are the pieces that are bringing functional language features C#.
Miguel.
-
2007-11-20 7:06 pmgonzo
LINQ == ActiveRecord. End of story.
Wow, this is so wrong. LINQ is FULLY integrated in the languages, it is part of the syntax. That is why it’s called “LANGUAGE INTEGRATED..”
You don’t understand it and some research on the topic of LINQ is strongly recommended.
Edited 2007-11-20 19:06
-
2007-11-20 7:54 pmduckie
LINQ info:
http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx
“It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities”
Microsoft already created the providers “LINQ to SQL”, “LINQ to XML” + more.
You can create any provider you want, see an example here http://blogs.msdn.com/hartmutm/default.aspx “A LINQ provider for RDF files”.
LINQ != activerecord.
-
2007-11-21 1:09 amMollyC
Agreed.
And besides “LING to SQL” and “LINQ to XML”, Microsoft has also created LINQ to Objects, which gives LINQ the ability to query any collection or object that implements IEnumerable. And there are already third party LINQ providers specializing in querying particular data (web queries, RSS feeds, etc).
And of course, there’s PLINQ (Parallel LINQ) that automatically runs queries on multiple cores/cpus.
http://msdn.microsoft.com/msdnmag/issues/07/10/PLINQ/default.aspx
LINQ rocks.
-
2007-11-21 6:58 pmStaubSaugerNZ
May I ask the question as to whether LINQ has a syntax that is the same across all database back-ends or is it specific to the database in question? If it is specific to a particular database then that sux from a migration point of view (which happens in the real world). I’ve just completed a government Postgresql to Oracle project and the database specific SQL in JDBC sux. They should have used Hibernate which has the same syntax no matter what the target is.
-
2007-11-22 8:09 amsmitty
LINQ is actually built into the C# (and other .NET) languages, so it is necessarily the same for all backends. However, you do have the option of sticking in custom stuff yourself into the code generated by the backends. So by default it is the same everywhere, but customizable enough that you can make it non-portable.
-
2007-11-22 6:13 pmStaubSaugerNZ
> So by default it is the same everywhere, but customizable enough that you can make it non-portable.
Thanks for the extra info smitty. If it can be done, then it will be done. Ddue to time constraints the average developers out there seem to prefer quick non-portable hacks over thinking of how to do things portably. Practical, but a PITA for maintenance.
MS hired the guy who does this http://www.subsonicproject.com/, which is basically rails type scaffolding for .net.
Do you have any idea what LINQ is about? It’s not a R&R rip off. If anything it is an XPath rip off. The idea behind LINQ is the same idea behind XPath. You can select, filter and continue on with LINQ and XPath.
-
2007-11-20 1:14 pmjayson.knight
“If anything it [LINQ] is an XPath rip off.”
From a technical standpoint, it’s more of an XQuery ripoff than XPath. The concepts are very similar, but the implementation is completely different.
Anyone else get the feeling that a ms dev saw Ruby on Rails, and copied almost the exact functionality into vs .net in the form of linq? They’ve played it off as being so unique, when almost everything they have come up with is already in ruby on rails.
You seem incredibly confused.
LINQ in fact is the exact opposite of what Ruby on Rails does when it comes to databases. Ruby on Rails advocates the use of ActiveRecord, where the classes are mapped into a database.
LINQ takes the exact opposite approach: the database is at the core of an application and they have provided a way to use a SQL-like language to the database from C#. They do not use an OO to RB mapper, instead they try to get you closer to the bone while giving you compiler provided type checking.
That being said, it would be good if Microsoft incorporated the good ideas of Ruby on Rails into .NET. Hopefully the upcoming ASP.NET MVC will go a long way along those lines.
Miguel.
Visual Studio.NET has always been an unbeatable IDE (though lacking in some basic functionalities that IDEs like Eclipse have, such as maximizing an editor). They’re intellisense has always been incredibly fast, and even though I’m not a big MS supported (spending most of my time using either BSD or OS X) I can’t wait for this to arrive on my MSDNAA.
Good job!
-
2007-11-20 1:48 amatehrani
I disagree; of all of the IDEs I’ve used (VS2005, Netbeans, Eclipse, IntelliJ) Visual Studio is the worst. To me it feels like it’s years old, every “new” feature people are excited about in VS2008, Java IDE’s have had them for quite some time.
-
2007-11-20 1:50 amValiantSoul
True, however the thing that VS beats them all with is its speed. If an IDE is going to make me wait and crash a lot (ahem Eclipse), its going to make me less productive, and therefore make less money.
-
2007-11-20 3:12 amsiride
Man, I am getting so sick of the bugs and weirndesses in Eclipse. It has a lot of cool features and promise, but it really has a knack for crapping out at bad times, getting into confused states and just generally being…weird. For example, I’ve had it convince itself that it couldn’t find java.lang.Object. All I did was start it up. And somehow it got confused. I had to delete the project and create a new one (with existing source of course).
-
2007-11-20 2:00 amAlmafeta
I disagree; of all of the IDEs I’ve used (VS2005, Netbeans, Eclipse, IntelliJ) Visual Studio is the worst. To me it feels like it’s years old, every “new” feature people are excited about in VS2008, Java IDE’s have had them for quite some time.
Yes, but then you have to deal with the fact that you’re writing in Java.
-
2007-11-20 2:26 amStaubSaugerNZ
> Yes, but then you have to deal with the fact that you’re writing in Java.
I’m curious about what’s so bad about Java? (since C# is much more similar to it than to many other languages and several of the core C# libraries obviously originate from the days when Microsoft had a Java.
Sure checked exceptions and such are a PITA, but it sure beats being hogtied to a single platform (sure it’s got 90% desktops, but only ~50% servers, which is where the real consultancy money is). I hate .NET’s Hungarian notation (the ‘I’ in front of every interface has a heritage back to FORTRAN dontyaknow) at least as much as you hate checked exceptions, but at least I can see why you might like .NET without feeling the need to imply it sux completely.
-
2007-11-20 3:56 amgoogle_ninja
IMHO java is a good language, but C# is a better one, mostly because having come later, it had the advantage of learning from javas mistakes.
They are really ~90% the same thing.
-
2007-11-20 4:00 amStaubSaugerNZ
> They are really ~90% the same thing.
Agreed, that’s why I can’t see why Almafeta could diss Java and imply C# was great.
-
2007-11-20 8:59 amMediv
IMHO java is a good language, but C# is a better one, mostly because having come later, it had the advantage of learning from javas mistakes.
Could you give some examples ?
To my mind, C# is too much complex as compared as Java. I would agree if you made a comparison with Java 1.4, but Java 1.5 brought what Java was lacking (like enumeration, generics, …).
Things like operator overloading, structures, the virtual keyword, … from the C# world are, for me, useless and bring confusion when reading someone else code.
With Java (>= 1.5), there is just what is needed.
Unless you speak of the .NET library ?
-
2007-11-20 11:54 amwanker90210
Delegates have brilliant compiler support in C#. The helper classes are created invisibly by the compiler.
Regarding generics; from what I heard Java cheated there. It’s “just” a compile time check so the type casting has to be done anyway.
Virtual and override are there for the same reason as C++ I guess. On non-virtual functions you don’t go thru a function pointer in vtab.
I like the out things for arguments to a function. More to write but thats a cheap price for potential bugs.
Coming from C++ I was btw a bit disappointed at both languages when I realized generics is just about avoiding typecasts. On the other hand, I haven’t seen a compiler so far that deals properly with templates. So perhaps it was an ok tradeoff.
I totally agree that Java grew up with the 1.5 release. I didn’t even consider it before. I just miss the delegate sugar.
-
2007-11-20 12:59 pmMediv
Regarding generics; from what I heard Java cheated there. It’s “just” a compile time check so the type casting has to be done anyway.
Virtual and override are there for the same reason as C++ I guess. On non-virtual functions you don’t go thru a function pointer in vtab.
OK, I see your point, and you are right. On that matters, operations have an higher cost on Java.
I like the out things for arguments to a function. More to write but thats a cheap price for potential bugs.
OK, it would be nice to have that, it can prove to be useful for better code readability.
I totally agree that Java grew up with the 1.5 release. I didn’t even consider it before. I just miss the delegate sugar.
First, I found the idea very good, combined with the “events”.
However, there is finally lots of things to do (declare the event, the delegate, create the delegate, be sure the event contains one delegate at least before firing it or there is a null exception, …) so it is sometimes a bit painful to use. But it is only my opinion.
-
2007-11-20 1:03 pmchristianhgross
Virtual and Override keyword: Fragile base class problem is why they are there. In Java you don’t know when a class is overriding your method.
Generics: Come on Java Generics are not real Generics. Its objects with dressing. Yes Java Generics will be fixed in a future edition, but why did they release it in the first place.
C# is actually a pretty good language that keeps evolving… Java needs to evolve more…
-
2007-11-20 12:19 pmchristianhgross
Java the language is garbage!
When Java the language came out it was good, yes it was. Now in 2007 it is garbage! Here are some case in points
1) Generics and erasure (yes it will be fixed in an upcoming release, but why do it in the first place.)
2) Just recently the idea of boxing, and unboxing came to Java
3) Java getters and setters are silly.
4) Still have not fixed the fragile base class problem
… and the list goes on…
C# fixed many of these things and then some. I am not saying that Java, and its environment is bad. On the contrary it is good. But Java the language is showing its age in a major way. Java should have included more Groovy or Scala features a long time ago. Java needs a desparate overhaul.
-
2007-11-20 1:29 pmsiride
What’s wrong with the getters and setters? What’s wrong with generics? Can you be more specific?
As for the fragile base class problem, that isn’t actually fixed in C#, they just try to make you a little bit more aware of the issue. To fix it requires proper design and care on the part of the programmer. A language cannot prevent you from making stupid architectural decisions.
-
2007-11-21 1:21 pmMikeekiM
> Java getters and setters are silly.
You don’t know what you’re talking about.
public void setLastName( string lastname )
{
if ( lastname.length() > 30 )
{
throw new IllegalArgumentException
( “lastname exceeds database col length.” );
}
}
Or, would you rather send bad data to the database and throw a SQLException?
-
2007-11-20 2:27 amandyleung
Yeah, I rather have the IDE crashing than the server crashing. My favorite .NET story is that my .NET teacher said how amazing .NET platform and stable it is, in a second the projector originally showing VS.NET 2003 turned into blue screen of death. After 5 attempts running Hello World app finally got it running but then in 5 seconds the app crashed the school development server…lovely VS.NET IDE/Server, you like this? God bless you.
-
2007-11-20 3:03 amtwitter
Since it’s impossible for something written in .NET to cause a bluescreen, I’d recommend checking the drivers in that “server” instead of regirgitating “LOLZORZ BLUESCREAN” tripe that no one believes anymore since 1999.
-
2007-11-20 3:53 amgoogle_ninja
Java IDE’s blow when it comes to UI design, and are average when it comes to web design. VS 2k8 not only gives you a good CSS rule editor, but will show you implied and inherited rules at design time. To my knowledge, it is the only editor to do that.
-
2007-11-20 8:24 amandrewg
Please have a look at the new Netbeans UI designer formerly called Matisse. Its better than anything I have seen including the VS 2005.
-
2007-11-20 2:42 amgonzo
Visual Studio.NET has always been an unbeatable IDE (though lacking in some basic functionalities that IDEs like Eclipse have, such as maximizing an editor).
Maximizing an editor? You mean like full screen mode?
It is available in Visual Studio 2008. And it is also in Visual Studio 2005.
Funny.
-
2007-11-20 1:02 pmmallard
No, not full screen mode.
He is referring to the nice little feature of Eclipse where you can click a small “maximize” button on a panel and make that panel take the whole window space.
While VS’s full-screen mode does hide some of the other panels (still shows the “Pending chekins” panel on mine), it also hides everything else, meaning I can’t copy-and-paste from another source, can’t quickly switch to an output window, etc. In other words Eclipse has a better UI (and I use VS every day).
-
2007-11-20 1:15 pmjayson.knight
“though lacking in some basic functionalities that IDEs like Eclipse have, such as maximizing an editor”
Not quite sure what you mean, but open up VS and hit F11. Is that what you’re looking for?
-
2007-11-20 1:46 amatehrani
Please note that targeting 2.0 is NOT targeting 2.0 RTM. You will be targeting 2.0 SP1, which (depending on your application) can have significant ramifications.
This blog explains it in detail:
http://blogs.msdn.com/msbuild/archive/2007/10/09/multitargeting-aga…
-
2007-11-20 10:36 amsegedunum
Please note that targeting 2.0 is NOT targeting 2.0 RTM. You will be targeting 2.0 SP1, which (depending on your application) can have significant ramifications
Ahhhhhhh. Backwards compatibility ;-).
i long for a return to the days when dev tool companies made lightweight tools that did the basics and then some REALLY well and really fast.
the “everything you could possibly ever want to do in 100 years” approach is killing me.
-
2007-11-20 4:45 amgilboa
I use vi *, **
– Gilboa
* Even under Windows; Compared to VS.NET2K5 vim+ctags is like comparing a cargo 747 to a SR-71. You may do more with VS.NET2K5 but once you get the hang of it, vim is 1000 times faster…
** I write C code, so anything beyond VC6 is an over-kill for me. Sadly enough our IT department doesn’t see it that way.
-
2007-11-20 7:09 amneozeed
You haven’t seen the power of IJW then. I modified a program to use SQL server to store it’s data as blobs, with only minor changes… And of course the best part, is that with MSDE I could then have it mirror the database to another machine, and I had instant disaster recovery capabilities.
The real power is in the ease of use of the framework compared to the disaster that is MFC.
Just compare .net remoting to DCOM. It’s brilliant.
-
2007-11-20 3:58 pmPlatformAgnostic
How well does vim+ctags work for extremely large codebases? Do you think it will handle 16,000 files?
VS certainly does not and I need a good editor.
-
2007-11-20 4:05 pmgilboa
I wouldn’t open 16,000 files in a single vim session…
Come to think about it; I wouldn’t open 16,000 files in -any- editor…
Never the less my ctags currently contains ~50,000 files. (/usr/include; /usr/src/kernels/linux-xxx * 2; a number of versions of my own driver/software/bsp/etc; a number of OSS projects; etc)
– Gilboa
-
2007-11-20 4:07 pmgilboa
$ cat /usr/include/tags /usr/src/kernels/linux/tags work/XXX/XXX/4.4/tags work/XXX/XXX/4.3/tags | wc -l
857366
– Gilboa
-
2007-11-21 12:15 amPlatformAgnostic
That’s good enough for me. I’ll have to reinvest in learning all the VIM tag navigation shortcuts.
Thanks.
-
2007-11-22 9:38 am
I get the feeling that most people on here are posting false anecdotes and piles of poop rather than factual information.
If you cannot keep up with the developments, perhaps you are in the wrong industry? The developments are incremental over the period of 3 years since Visual Studio 2005. Each feature, and there are ONLY about 4-5 significant language/process changes, should take no more than half an hour to understand and a week or two to be productive in. For the grain in productivity and the general satisfaction coming from these features, perhaps you should be more grateful and spend more time doing some structured learning.
As for the open-source zealots who plug “I can do anything in C and Vim”, yes you can but it has a higher miss-rate when it comes to reliability, maintainability, security and general quality control. The productivity is poor as well. I’d rather not waste my life re-inventing the wheel every 8 seconds. Try writing this in C with Vim in 45 seconds (even using any C library:
class A {
public static void Main() {
Dictionary<string, string> x = new Dictionary<string, string>();
x.Add(“Key”, “value”);
Console.WriteLine(x[“Key”]);
}
}
-
2007-11-20 10:48 amsegedunum
If you cannot keep up with the developments, perhaps you are in the wrong industry?
I can tell you don’t develop software for customers. Installation and implementation issues take up the vast majority of your time, not development.
The developments are incremental over the period of 3 years since Visual Studio 2005. Each feature, and there are ONLY about 4-5 significant language/process changes
People are installing their applications on Windows target machines, not Visual Studio or .Net.
The productivity is poor as well. I’d rather not waste my life re-inventing the wheel every 8 seconds.
One word: ActiveRecord.
Try writing this in C with Vim in 45 seconds (even using any C library
What are you talking about C for? Have a go at writing that in Python, Ruby or even Java.
-
2007-11-20 4:44 pmchrisjsmith
In reply to various comments:
a) I do develop customer-centric software! Lots of it.
b) ActiveRecord is POOR compared to LINQ. Its performance is horrible, it’s impossible to test properly as the reference for the object tier is stored in the data tier and you are working blind at the object tier with the assumption that certain accessors are present. With LINQ, you are assured something is going to work AT COMPILE TIME.
c) Java doesnt’ have an equivalent to LINQ. Python has SQLobject which doesn’t even remotely compare (different model), Ruby has ActiveRecord which is totally non performant.
d) You don’t need Visual studio to compile C# code – what total rubbish. csc.exe is present on ALL .Net installations (runtime!) in C:WindowsMicrosoft.NetFrameworkvWHATEVERcsc.exe and acts the same as GCC does on linux with respect to compilation. You can use cmd’s type command and then use csc to compile. Idiots.
Will people stop arguing without facts?
Further rant: I have used Python (Django) and Ruby on Rails for some small projects but they just don’t cut it.
-
2007-11-20 10:27 pmsegedunum
ActiveRecord is POOR compared to LINQ. Its performance is horrible
There are a great many things in Ruby and Rails that are not very good performance-wise, PDF::Writer being one of them, but ActiveRecord isn’t really one of them. Without some discussion about workloads etc. this doesn’t really mean anything.
…it’s impossible to test properly as the reference for the object tier is stored in the data tier and you are working blind at the object tier with the assumption that certain accessors are present. With LINQ, you are assured something is going to work AT COMPILE TIME.
How often have I heard that one? Getting an Intellisense drop-down box of table names, fields and accessors that the compiler can check and flag at compile time doesn’t guarantee you anything ;-). If that is indeed what you mean. This is why we have these things called unit tests, that run and test actual code, and Ruby and Rails has pretty good support for them ;-). Much dynamic behaviour also becomes possible here, which is where Ruby gets its power for Rails development.
You don’t need Visual studio to compile C# code – what total rubbish. csc.exe is present on ALL .Net installations (runtime!)
Why on Earth are you talking about Visual Studio and the C# compiler? I am talking about deployment, and the fact that I am installing my application on an operating system, not on half a dozen bloody runtime environments. The one target platform has disappeared, and I don’t care how small the changes are.
Will people stop arguing without facts?
Hmmmmmm.
I have used Python (Django) and Ruby on Rails for some small projects but they just don’t cut it.
Good for you. You mentioned something about facts?
-
2007-11-21 3:14 amSoulbender
Will people stop arguing without facts?
Perhaps when you start presenting some?
All you did was present your personal opinions and experiences on various aspects. Nothing wrong with that but it’s not facts and does not apply to other people and circumstances.
-
2007-11-20 3:54 pmFunkyELF
Try writing this in C with Vim in 45 seconds (even using any C library:
class A {
public static void Main() {
Dictionary<string, string> x = new Dictionary<string, string>();
x.Add(“Key”, “value”);
Console.WriteLine(x[“Key”]);
}
}
How about Java using no editor at all?
Did that 45 seconds include starting up Visual studio and creating a new project?
$ cat > Test.java <<EOF && javac Test.java && java Test
> import java.util.*;
> public class Test{
> public static void main(final String args[]){
> Map<String,String> x = new HashMap<String,String>();
> x.put(“Key”,”Value”);
> System.out.println(x.get(“Key”));
> }
> }
> EOF
Value
$ echo Wow!
Wow!
$
Edited 2007-11-20 15:54
-
2007-11-20 8:15 pmbm3719
Try writing this in C with Vim in 45 seconds (even using any C library:
class A {
public static void Main() {
Dictionary<string, string> x = new Dictionary<string, string>();
x.Add(“Key”, “value”);
Console.WriteLine(x[“Key”]);
}
}
printf(“value”);
๐
Finally!
A Visual Studio that’s actually meant to work with Vista!
Too bad I removed Vista because I couldn’t use Visual Studio 2003 OR 2005…
Too little too late.
(for the record, YES both 2003 and 2005 supposedly work, but with an enormous laundry list of incompatabilites which made it worthless to try)
-
2007-11-21 7:35 amduckie
As you wrote, Visual studio 2005 works fine, if you install the vista-specific updates for it ๐
You see, the major problem here is actually Microsoft. I am not Linux geek nor Java guru, I am just talking in general.
When the OS is not stable enough to be in enterprise to serve 24/7, don’t even go to the app stability. There is nothing to do with .NET and Java in this case but then when we talk about OS in enterprise, you can only go for non-windows platform, which leaves you Java.
I don’t understand why people are saying the language is aging and needs some change or something, honestly, I don’t see any points there. I wouldn’t argue Java has its own problem but if you are a good developer, you should see that Java, the language itself, actually gives you everything you need for the enterprise.
Besides, .NET a basically a copycat of Java and everybody knows, but the worst part is they copied and made it worst.
I tried C# once and omg…I can feel the major clone of Java with minor difference from Java and have a feeling of “hey, we can’t clone 100% because of legal issues, we, Microsoft, already have million number of lawsuit…”.
The IDE is not that bad, but a bit bloated, 2003 was pretty good at that time.
I am REALLY looking forward to the css/javascript support. I don’t think I have seen CSS done that well in an editor before, and 2k5s css is kind of lame.
LINQ looks hela-cool, but I’m already hooked on the excellent opensource http://www.subsonicproject.com/ for my object persistence needs. And while some of the control updates look nice, I just bought the devexpress ASPxperience set last week (and am completely in love).
I think you put this comment on the wrong article…
He was talking about the CSS & Javascript intellisense, but I have a feeling you knew that anyway.
He was talking about the CSS & Javascript intellisense, but I have a feeling you knew that anyway.
All the poster mentioned was CSS and JavaScript support, and quite frankly, Internet Explorer, Microsoft’s development tools and proper, standard support of ECMA(Java)Script and Cascading Style Sheets are absolute polar opposites.
The hint of irony and sarcasm was absolutely spot on, and pretty well done.
Quite frankly, I’m distinctly underwhelmed by yet another new version of .Net that no normal person can keep up with. Microsoft simply have too many MSDN lunatics producing too many development tools no sane person can keep up with.
I wonder if there is a way to develop a web browser that has a plug in architecture for the CSS. That would allow CSS to improve asynchronous to IE releases, or any browser release… and if it was an Open Source project, we might see some significant improvements in support all together.
So many people would have so many different versions of plugins installed that you’d go nuts trying to write anything that worked for anyone.
And no, I doubt it. Open source is not the magical solution to all problems, no matter what some would like you to think.
Quite frankly, I’m distinctly underwhelmed by yet another new version of .Net that no normal person can keep up with. Microsoft simply have too many MSDN lunatics producing too many development tools no sane person can keep up with.
Haha, so true. I recall listening to an episode of the .NET Rocks podcast recently, and they were talking about how it used to be possible (like back in the early days) for a person to know pretty much everything there was to know about a PC.
But now days, it’s getting pretty much impossible just to keep track of everything in the .NET Framework itself. Makes me wonder if the people coding the .NET Framework ever sleep
But now days, it’s getting pretty much impossible just to keep track of everything in the .NET Framework itself. Makes me wonder if the people coding the .NET Framework ever sleep
You specialize in certain areas and that’s it (for example, ASP.NET). For other stuff you use MSDN/Help. You don’t get to claim you’re an expert on everything.
“But now days, it’s getting pretty much impossible just to keep track of everything in the .NET Framework itself.”
The key to any software developer’s job is knowing how to read documentation, and knowing where to look for said documentation. The rest comes with experience. I’ve been a professional .Net dev for 6 years now, and still run into new BCL classes on a weekly basis.
Concepts are always the most important part of the job, followed very closely by the tools you use.
Quite frankly, I’m distinctly underwhelmed by yet another new version of .Net that no normal person can keep up with. Microsoft simply have too many MSDN lunatics producing too many development tools no sane person can keep up with.
Huh? Where have you been? It’s about frameworks & developers. Windows has been a platform that people *WANT* to program for, because Microsoft is constantly going out of their way to come up with better ways to solve business problems.
Would you rather have a K&R compiler, and a VT220? Oh sure it’d be easier, but is it realistic in 2007?
I agree… with out the extensive framework, implementing solutions would take a lot longer and be a lot buggier.
yeah, sometimes it is not “real” development because you are simply using tools that do the heavy lifting, but so what? is a carpenter not a real carpenter unless he/she uses a hand saw and a traditional hammer rather than a power saw and a nail gun?
Yeah, the framework is huge, but isn’t that what MSDN is for? If you do not know how to do something, look it up.. you think doctors… even specialists can keep it all in their head?
the split between windows and Open Source has already lead to a specialist split. .Net will probably lead to a few more specializes… just like a rough carpenter specializes in getting the frame of a structure up fast and efficiently and a finishing carpenter focuses on putting up the trim and other small carpentry jobs, you will see specialties in development work. Sure, either carpenter can do teh work of their counterpart, but they can’t do it as well or efficiently, so is true today with open source and .Net developers.
Microsofts support of javascript is worse then mozilla, but better then anything else. And as of IE7, their CSS support is pretty much where everyone else is
Anyone with half a brain can keep up with it, the last release was 3 years ago.
Edited 2007-11-20 03:58 UTC
Microsofts support of javascript is worse then mozilla, but better then anything else. And as of IE7, their CSS support is pretty much where everyone else is
Simply not true. Their JavaScript support has always diverged wildly, and the CSS support in IE7 solves none of the incompatibilities. CSS3 is simply not going to happen, and there are still parts of CSS2 that haven’t been fixed.
Anyone with half a brain can keep up with it, the last release was 3 years ago.
Worrying about five different versions of .Net to target, with more on the way presumably, is not solving anyone’s problems.
“Worrying about five different versions of .Net to target, with more on the way presumably, is not solving anyone’s problems.”
FUD. Target whatever version you want. Just get the client to install the version you use. You know, you can have all the .net versions installed without any problems.
FUD. Target whatever version you want. Just get the client to install the version you use. You know, you can have all the .net versions installed without any problems.
If only it were that easy. Not only do you need to test with that version, or test with all versions, .Net and your application do not stand by themselves. There is a veritable panoply of dependencies to take care of in addition to .Net, in addition to worrying about what framework is installed, installing a new framework if the one you want isn’t there or simply assuming things are compatible. WinForms or Avalon? God knows. Why should one even need to pick? Hell, installation on Linux is beginning to look attractive!
This isn’t FUD. This is happening today, and has been for some time. As Joel Spolsky once said about this, it’s not 1990 any more.
Yep, at least on Linux the package managers will download all your dependencies for you.
It’s too bad Vista is still stuck in the last century for package management. I really thought MS would fix that.
“If only it were that easy. Not only do you need to test with that version, or test with all versions, .Net and your application do not stand by themselves.”
I dont get your point? You write a lot of nonsense, impossible to respond to.
What dependencies? The dependecies (external libraries etc) i in my application? If a version of library not exists on the system, i simply put it in the gac. The gac manages all the different versions of that library, and i just load the one i need.
You are right its not 1990 anymore, and its not 1995 anymore either. Luckily dll-hell is non-exisiting in .net, if you do things the “Correct way”(tm).
And yes it is fud, i strongly belive you yourself has had a big dose of it. You arguments point suggest it.
I dont get your point? You write a lot of nonsense, impossible to respond to.
That’s because you have no clue what I am talking about, or what you are attempting to talk about. You know what? I rather suspect you do know ;-).
What dependencies? The dependecies (external libraries etc) i in my application?
If you take that attitude then you start losing a stable target to port to – rapidly. Bundling everything with an application, including the entire framework your application runs on, is not an option, especially when other applications installed on a target machine may well use the same software. Apple users think app folders are so cool. Yer, right? Watch what happens when people actually develop for your platform and are sharing many of the same components.
When you use .Net and Microsoft’s development tools any time soon, you’ll find that if someone uses Avalon, although it may well run on Vista, you’re going to have to give serious thought as to how it will run on XP and 2000 and what you will install to do it. If you use WinFX, as the development tools and literature now gears you towards using, where does that leave you in terms of deployment? You may well choose not to use it, as most aren’t. I mean, the following is a slide from a presentation I have seen myself:
http://weblog.infoworld.com/udell/gems/WinformsVsAvalon.jpg
That’s just fricking insane.
You are right its not 1990 anymore, and its not 1995 anymore either. Luckily dll-hell is non-exisiting in .net, if you do things the “Correct way”(tm).
DLL hell is still very much around. It’s just called dependency hell now. You’re reading way too much marketing literature, and that above decision diagram is not the correct way by any stretch of the imagination.
And yes it is fud, i strongly belive you yourself has had a big dose of it.
It’s called everyday usage, and I can bet you anything it is talked about in every Microsoft development circle and has been for years.
None of your arguments “stick”. I have used .net in a couple of years since 1.1, and i am still using it, both for win and web-developement.
I have never had, seen anyone or read about anyone having issues with using different versions of assemblies, or the framework itself. If there was problems, it was because of not following instructions.
I find it pretty funny you say i read to much marketing, and then afterwards you point me to a ancient marketing-slide. I am pretty sure that slide is insanely old, and it is _not_ correct. Avalon runs fine on xp.
Come with some sources for your points
Duckie said:
> I have never had, seen anyone or read about anyone having issues with using different versions of assemblies, or the framework itself. If there was problems, it was because of not following instructions.
Ok, I’ll disclose that I’m a Java guy (both Rich Client and J2EE), but have written C# apps in the past. I have a friend who worked on a $NZ20 million (around US$15 millions) project for the New Zealand government that failed because they had trouble with getting all their assemblies built properly across the development team. They were a very experienced and dedicated team. Perhaps the project was too ambitious but “assembly hell” was a real issue for them. In contrast, we take a slightly different approach with our Java apps and while you have to be very mindful about different versions of JARS using the Java classloader, you can actually avoid some of the problems the .NET guys were confronted with. In very large applications .NET still has scalability problems.
f only it were that easy. Not only do you need to test with that version, or test with all versions, .Net and your application do not stand by themselves. There is a veritable panoply of dependencies to take care of in addition to .Net, in addition to worrying about what framework is installed
Dude you pick a framework to develop against and thats the one you want the end user to have, you don’t need to test with multiple versions.
External dependancies in addition to the .net framework are on a ‘per application’ basis and your requirements and development decisions will influence this. If you use a ton of COM interop and depend on older ActiveX/COM servers then yes you might have some tough deployments, but again that is up to you as a developer on the best route to take.
This isn’t FUD. This is happening today, and has been for some time. As Joel Spolsky once said about this, it’s not 1990 any more.
What is happening today? I’m not sure I follow you.
My most recent .net application was a simple deployment. I verified during installation that the 2.0 version of the framework was installed and then I copied my entire application to a single folder and ran it. Not a single issue.
I think you might be making things far more complicated than they need to be for yourself.
You could say that about their javascript (or jscript as they call it). However, just because document.all exists, doesn’t mean document.getElementById doesnt exist. I have had more problems with javascript and safari then javascript and ie.
As for CSS3, nobody supports it because its not that great a spec. CSS2 suppport is better, while not all of the rendering bugs were fixed in IE7, some of them were.
You get that with any VM language. (java is FAR worse)
Sorry but IE7’s javascript and css is still behind both Mozilla and Opera and probably webkit/khtml at this point too (CSS support at least, not sure about JS).
Very funny.
First off, anything generated by VS.net 2k5 not only validates XHTML 1.0, but is totally cross browser. I have yet to have an issue with a built in ASP control rendering significantly different in firefox and ie. So any implications on poor standard support is completely unfounded, the code generation is on par with dreamweaver, and far better then anything else I have seen.
Granted, javascript intellisense isnt exactly revolutionary. However, look at the way it handles css here http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-desig…, and tell me what other environment comes even close?
Actually, while it might not be your cup of tea, Netbeans 6 (at rc1 and out at the end of the month) has a very nice interface to CSS. Bet you haven’t tried NB6.
I’d be inclined to say StyleMaster has been doing that for years, but obviously StyleMaster isn’t an HTML editor, solely CSS. Anyone looking for a powerful CSS editor though that develops with tools other than VS.net, or develops on OS X, should probably check it out.
N.B. I bought the 4.x version at least a year or two ago*, and it seems I’m still up to date (free upgrades), though whether they’re planning a new major release or not anytime soon I don’t know.
http://www.westciv.com/style_master/product_info/index.html#xray
Off-topic, but the logo was designed by Jon Hicks of Firefox/Thunderbird/Miro fame ๐
* (edit) – 14 Dec 2005 21:32 to be precise, feh.
Edited 2007-11-20 12:50
Anyone else get the feeling that a ms dev saw Ruby on Rails, and copied almost the exact functionality into vs .net in the form of linq? They’ve played it off as being so unique, when almost everything they have come up with is already in ruby on rails.
While most “zomg Microsoft steals from everyone I cut myself”-type posts like this have no basis in reality whatsoever, this actually has some fact behind it:
http://rubydotnet.googlegroups.com/web/Home.htm
http://www.codeplex.com/irony
Well, Microsoft’s business practice is along those lines. It’s not really a bad thing. Other people do the research, bring stuff to market, and ultimately fail, or half-succeed. Microsoft watches, polishes and produces a better product based on what the competition has done. It’s great business practice, and it does often produce good consumer products (not all of MS’s software is garbage). I wouldn’t call it stealing. It is more like refining. And we desperately need that in the software world.
While most “zomg Microsoft steals from everyone I cut myself”-type posts like this have no basis in reality whatsoever, this actually has some fact behind it:
http://rubydotnet.googlegroups.com/web/Home.htm