Slashdot Mirror


Does Visual Studio Rot the Brain?

duffbeer703 writes "As a UNIX guy dragged kicking and screaming into the Windows world, I've never really been able to enjoy Windows programming. Charles Petzold, who is a long-time developer for DOS & Windows really laid out the reasons for me at the NYC .NET Dev group. Visual Studio and Microsoft tools force you to adopt programming techniques designed around implementation speed, not understanding or quality."

790 comments

  1. yes, it does rot your brain, or at least habits. by yagu · · Score: 5, Interesting

    I have a good friend whose son is brilliant. He looks at anything, and instantly is taking it apart and putting it back together. In our technical day and age, he has tinkered with computers a LOT and has shown great acumen in troubleshooting and configuring not only Windows, but putting together a network.

    I tried to turn him on to coding, but he went out and got Visual Studio, and went off on his own. He came back and proudly demonstrated his various creations.

    While I liked his creativity, it was evident his depth of grasp of the workings of programming were as deep as VS allowed him. Cute screens with cute input buttons and cute input boxes. But nothing in the sense of real code.

    He is now taking some programming classes, and while he is doing well, they have begun java, and it has totally thrown him. He's getting back on his feet, but his initial foray into VS gave him some bad (and some wrong) insights into programming and languages.

    His reaction so far to having to actually write and understand code is that it is stupid. I think that's a dangerous culture to cultivate in an IT universe. He is doing well in his class but he constantly wants to go back and do the drag and drop thing.

  2. Perhaps by Anonymous Coward · · Score: 0, Funny

    Visual Studio may rot the brain, but that's better than the testicle-rot I get from an average linux install. Don't get me started on the rectal cancer I contracted by using BSD...

    1. Re:Perhaps by Anonymous Coward · · Score: 0

      If only I had mod points to mod this funny...

  3. Help! by ArchieBunker · · Score: 4, Funny

    Help I did type Y work for years and now I'm doing type X. Things are different and I don't understand, why!

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
    1. Re:Help! by Gilmoure · · Score: 1

      Help not will you receive, devient XYX.

      --
      I drank what? -- Socrates
    2. Re:Help! by LostCluster · · Score: 1

      This is exactly the situation those of us who grew up with VB3 to VB6... VB.net is C# with a coat of paint on it. We got used to breakpoint and resume coding, and that rug got pulled out from under us. I never wanted to be a coder anyway...

    3. Re:Help! by Azi+Dahaka · · Score: 2, Informative

      If you RTFA his complaints are not with using a GUI IDE, but rather with Visual Studio itself. VS's project templates remove so many steps and try to hide code, leaving newer developers in the dark about what is really being done behind-the-scenes. It also does some arguably sloppy techniques such as including a few dll references that are not necessary, adding lots of unused using statements, overusing class-wide members, etc.

      He isn't opposed to using Visual Studio itself. When guiding newbies, he instead has them create projects "from scratch" rather than using a "Windows Application" template. This at least gives them an idea of what their project is doing, and a better understanding of programming.

      He also finds Intellisense to be a wonderful tool, but over-reliance on it removes the desire to actually learn how the framework works.

      These factors and others are why he feels Visual Studio rots programmers' minds. Nothing to do with that it's not a plain text editor.

    4. Re:Help! by Anonymous Coward · · Score: 0

      See? Once again the dangers of static typing rear their ugly head!

    5. Re:Help! by ad0gg · · Score: 1

      Yawn, there's a blank project option in vs.net thats starts off with 0 files and 0 reference. VS.net is for rapid development, templates are there to help you out. Saying vs.net makes stupid developers is like saying hibernate also makes stupid developers since it hides SQL from the developer. Hell any developer tool out, lets take xml spy and its auto schema generation, or its xslt generation. Lets lump junit in on it because its serves as crutch for developers to write bad code as long as it passes the unit tests. Or javadoc and class reference documentation. And if you want to talk about stuff hidden from the developer, take a look a ruby on rails. So much is hidden from developer in terms of data access its scary. But you know what, with ruby on rails, i can whip out an application in a 1/4 of the time then jsp or asp.net. Time is money. This guy bagging vs.net for templates and intellisense is really a bag on all RAD tools and enviroments.

      --

      Have you ever been to a turkish prison?

    6. Re:Help! by killjoe · · Score: 2, Interesting

      This happened to me. For many years I worked on a PHP web site. My setup went like this.

      Apache server with a virtual host to my home directory.
      Mount home directory via samba to my windows workstation.
      SSH into apache machine for cvs access and other tools like grep
      Jedit for development.

      Now I work like this.

      ASP.NET using visual studio.
      IIS running on local machine.

      I can't tell you how less productive I am using ASP.NET. It's mind boggling really. First of all visual studio is a pig, it sucks up virtually all the ram on my machine, just opening projects takes ten times longer then it took opening up jedit. Secondly the build cycle is insane. Not only does it take a long time build this site (probably thanks to crystal reports) but building also expires your session so you have constantly log back in and navigate to the page you were working on. Just making even minor changes and seeing the result turns into a painful experience like swimming in molasses. I guess I don't also need to rell you guys that sourcesafe and Crystal reports sucks ass do I?.

      I honestly thought I would be 10 times more productive in this new project because I would be using l33t tools like VS.NET but I was sorely disapointed. I will never take on a ASP.NET project again, it's just too painful.

      --
      evil is as evil does
    7. Re:Help! by Azi+Dahaka · · Score: 1

      Yes, it has an empty project like both he and I stated, I'm well aware.

      He appears to accept GUI IDEs as powerful, and as crutches. If you write an application or two from scratch, you'll have a better understanding of what you're doing. If you lean on the crutches, you may forget (or not even learn) how to create an entry point to your apps.

      He's not referring to all developers, of course. But many VS-only developers don't even know the basics of software development any longer, they're too used to RAD.

    8. Re:Help! by ghinckley68 · · Score: 1

      You know I was going to rip you a new one but may I just suggest you learn how to use the product.

      --
      Linux modi 2.6.26-2-parisc
    9. Re:Help! by digidave · · Score: 2, Interesting

      I feel your pain.

      I once worked on a Websphere 5 app where the project was in Websphere Studio. Any slight change to the app required using the deploy feature in WAS Studio and on my 900Mhz laptop that took 40-50 minutes.

      --
      The global economy is a great thing until you feel it locally.
    10. Re:Help! by ad0gg · · Score: 1

      Do developers really need to learn the internals of winsform application? This topic reminds of some interview questions i had. What is hex code in beginning of java libraries and what does the c# compiler do to properties. Does it really matter that i know that CAFEBABE is in the start of every java library or that c# converts properties to get and set methods? Its some fun trivia and shows how java checks the first few bytes of java library to determine that it is java library but in reality you never use it in real life. Good coding is not knowing every little detail about a library, its about learning the fundamental concepts. Libraries change, concepts don't. I'm amazed of the people i interview who can name off every class in .net System.xml namespace but have never heard of any design pattern.

      --

      Have you ever been to a turkish prison?

    11. Re:Help! by Azi+Dahaka · · Score: 1

      I don't feel you need to know about the C# to IL conversion. Properties becoming get_ set_ methods, constructors becoming .ctor and .cctor, etc, but none of this should affect the C# code you write. Very few people actually need to understand the IL.

      I do feel you should have an idea of how to create an application from scratch, and for GUI applications understand how forms are created. Until you learn the basics, what is created from templates is arcane. These are fundamentals that should be taught immediately, yet are often never discussed because the IDE takes care of it. And, the rot as I understand, comes in when you rely upon these conveniences so much you forget how to do it without them.

      At least this is my take on it, and it makes sense, although I can hardly see how this is news. It seems any time something is automated, people start to forget what is being done inside the box.

      At least with Visual Studio there is the option to look at what the templates create.

    12. Re:Help! by killjoe · · Score: 1

      OK guru, tell me how to build my application without expiring my session. Tell me how to make VS.NET not suck up all the memory on my system, tell me how to make ASP.NET work without the constant build cycle.

      Can't? Didn't think so.

      --
      evil is as evil does
    13. Re:Help! by GroovBird · · Score: 1

      Yes.

      I think you need to understand your computer down to the level closest to the CPU as possible. You'll need it in case your typical stack of abstraction layers fail to blind you from the truth.

      I've seen to many developers shrug and give up because "it must be a Windows bug" only to find out they really didn't understand the implications of the things they were trying to accomplish. And this is the same on any platform or OS that you work with.

      You can be productive and use a GUI IDE for the rest of your life, but you'll need to understand the concepts that are playing out under the hood.

      Dave

    14. Re:Help! by CaptnMArk · · Score: 1

      MS are idiots. They still can't make web projects work well after years of trying (2003 with it's web folders was total crap (the "local web project" hack was almost ok), 2005 beta 2 is crap, we'll see if the new stuff after that is any better).

      I can't help you with bloat or the crappy build system, but for sessions:

      1. use IIS, not builtin web server (although it may not matter)
      2. use external state server or SQL server (I do this).

    15. Re:Help! by Alioth · · Score: 1

      It seems like lots of IDEs are bloated in the extreme, not just VS. I used to use IBM VisualAge. We actually started calling it TakesanAge because it just used up so much memory and made the machine thrash. (And when we moved from OS/2 to NT, we needed TWICE the memory to work on the same program!)

    16. Re:Help! by LiquidCoooled · · Score: 1

      DId that make you think about the code changes you were making and force you to think more about each and every modification?

      It sounds more like the thought process people needed for developing using punchcards or on mainframes.

      --
      liqbase :: faster than paper
    17. Re:Help! by bobintetley · · Score: 1

      I had the same trouble. In the end, I wrote some scripts that took apart the EAR file generated by the deploy feature and reinjected the JAR containing the new code (which compiled in a few seconds via an ant script) - much better and I could use vim/ant to develop instead of WSAD (spit spit)

  4. Great quotes by tcopeland · · Score: 4, Interesting

    This is in the section where he's talking about filling in event handlers for a VB form:

    > This bothered me because Visual Basic was treating a
    > program not as a complete coherent document,
    > but as little snippets of code attached to visual objects.

    So true. You can't "read" the program, instead, you can only leap about from handler to handler. And another good point when talking about a XAML demo:

    > It was very, very cool, except that the 12 tick marks
    > of the clock were implemented in 12 virtually identical chunks of XAML.

    I'm not sure about this one - seems that one of the few times that duplicated code is OK is when it's in generated code; i.e., in a JavaCC-generated parser. For everything else, there's CPD, the Copy/Paste Detector.

    1. Re:Great quotes by leerpm · · Score: 1

      It's called Event Driven Programming. It's not something specific to Microsoft, and they sure didn't invent it. If you program a GUI application in Java, you would use the same general approach.

    2. Re:Great quotes by dnoyeb · · Score: 1

      Yes, VB is essentially a wrapper for COM. Thats what I thought when I first saw it, knowing COM. Its great for those quick programs we use at work to drive io ports to test things.

      VB is a crap shoot though. Either it works or it does not. Forget debugging that thing as it can get near impossible.

    3. Re:Great quotes by shutdown+-p+now · · Score: 1

      It's by no means unique to VB. Most recent MS offerins are largely about the same, VC# being a prominent example, but VC++ also to a large extent similar. To their credit, MS aren't the only ones who are doing that - Delphi stimulates brainrot in a very similar way, as does any other "RAD" tool. It is at the base of the whole RAD ideology - throw buttons around first, write handlers next, get a mess as a result eventually ("magic button syndrome" is most prominent applications written using that approach, but it's not the only one).

    4. Re:Great quotes by Rufus88 · · Score: 1

      > This bothered me because Visual Basic was treating a
      > program not as a complete coherent document,
      > but as little snippets of code attached to visual objects.

      So true. You can't "read" the program, instead, you can only leap about from handler to handler.
      I guess some Unix programmers have never done any widget programming with the Xt intrinsics toolkit.
    5. Re:Great quotes by Anonymous Coward · · Score: 0

      If you think you can't "read" an event driven program then you don't know how the underlying framework does its magic, what ever framework you are using. Things have progressed, time to move on. We don't need to be worrying about how the program dispatches messages from the OS.
      Sure is very helpful if you understand what is happening in the background and that what separates the good and the bad,

      Do you really need to read the same old message pump code every time. Or worse still write it from scratch every time.

    6. Re:Great quotes by pacc · · Score: 1

      Sure,
      but he seems very naive believing that generated XAML code would
      be easier to read and edit by humans than C# code. There seems
      to be even more reasons to fear that it will be ofuscated by
      bad indentation, duplication of redundant code, unneccessary
      attibutes with default values added in random (or worse alphabetically
      sorted) instead of using the schema order etc. etc.

  5. Coral Cache by slavemowgli · · Score: 1

    Convenient mirror link, as the site seems to be slashdotted already: http://charlespetzold.com.nyud.net:8090/etc/DoesVi sualStudioRotTheMind.html

    --
    quidquid latine dictum sit altum videtur.
  6. Turn off all the other featurs by Sourtimes · · Score: 2, Insightful

    I ten to turn off all the auto coding features and use it for a really good editor, code highlighting, regex replacement, etc. It is actually really nice when working with both a Database and coding by hand.

    1. Re:Turn off all the other featurs by Amouth · · Score: 2, Interesting

      i know many people that code.. some of them ar die hards and want notepad/vi/joe others want a full blown ide and try not to look at code.. the die hards are the ones that make quality software the others make nice looking stuff.. personaly i fall just short of the die hard.. i am mainly in windows so i use editplus, a wonderful app.. and only open VS when i want to play with laying out forms because well it makes sence.. personaly i hate the way they have the code interface.. it is almost like they don't want you to be there

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    2. Re:Turn off all the other featurs by Doctor+Crumb · · Score: 1

      I'm not sure why everyone claims that VS is a good editor. Dozens of better editors exist; vi and emacs as the best of them. They have syntax highlighting. They have regexps. They have bracket matching/highlighting. Hell, my vim install even has tab-completion of variables/etc, analagous to intellisense but less obnoxious. The editor in Visual Studio is really not all that good of an editor; it is in fact the one thing I hate most about VS.

    3. Re:Turn off all the other featurs by HateBreeder · · Score: 1

      If You think those are good, I recommend you try: Visual Slickedit

      Perhaps the best editor I've ever come across.
      It has features like, Contexts - where you get to see declarations and implementations of function and types you're using in a "preview window", like the lower pane of many popular mail readers (where they show you an email preview.
      You can also easily jump to declarations, AND it automatically keeps tracks of your jumps, so that you can always "jump back".
      It's completely scriptable and extremely customizable.
      It's like coding reinvented, I highly recommend.

      Oh, and btw, it's cross platform. (There's a windows version and a linux version, perhaps even other OS's which i didn't bother checking)

      --
      Sigs are for the weak.
  7. Force? by b0r1s · · Score: 4, Interesting

    They allow and perhaps encourage, but they don't force anything...

    Visual Studio (VS newer than VS 6, up to and including VS 2005) is in the top 3 products MS has ever produced (behind MS Office and MS SQL Server). Powerful, flexible, and yes, it allows for very rapid development.

    --
    Mooniacs for iOS and Android
    1. Re:Force? by abscondment · · Score: 0, Troll

      I've been forced to restart a visual studio crash more than twice a day this week. I'd much prefer if they merely allowed me to crash it, when I felt like it.

      I can't wait until I return to my normal job, programming in a real IDE that doesn't freeze so often.

    2. Re:Force? by leerpm · · Score: 1

      Then there is something wrong with your particular installation/environment. I have run VS .NET for days, and not had to restart the IDE app.

    3. Re:Force? by Slimcea · · Score: 2, Insightful

      Pray tell - which IDE doesn't? At some point or the other, just about every IDE I've used so far (Delphi, NetBeans, Eclipse, JBuilder) has decided to simply go belly-up and either stop responding to me or start acting in really weird ways.

      Modern IDEs are complex beasts - they've got to parse your code, handle reflection, manage multiple debug processes et al. While I agree that they should ideally be bug-free, complex things often break somewhere or the other.

    4. Re:Force? by DonGiaconia · · Score: 1

      You *can* crash it whenever you want, just start the debugger, and try to attach a process or two. Generally this tends to be an excellent way to guarentee Visual Studio will crash. It even gives you the option to restart automatically after it crashes, making so much more fulfilling of a crash.

    5. Re:Force? by bani · · Score: 1

      VS encourages a lot of very bad coding and design habits. the lack of c99 compliance doesn't help either.

    6. Re:Force? by ad0gg · · Score: 1

      vs.net debugger will take out vs.net, create a really complex project toss in a bunch of reflections to other projects that are in your solution, now try to step the code. It will crash about 1 in 10 times.

      --

      Have you ever been to a turkish prison?

    7. Re:Force? by Anonymous Coward · · Score: 0

      You mean the one thing with Clippy and the one thing with SQL injection vulnerability? It's a really sad look back if those are two of Microsoft's top three.

    8. Re:Force? by Anonymous Coward · · Score: 0

      I'll give you the one on Visual Studio, which I find to be a pretty good IDE, but are you serious about MS Office and SQL Server being in the top 3 products MS has produced? Is this the same bloated MS Office that randomly messes up formatting of documents and causes people around me to yell out loud in frustration? Is this the same SQL Server that has numerous quirks like locking everything around a record which the user is accessing due to its outdated architecture (not MVCC) and-was-purchased-from-Sybase-anyways so you really don't have MS to thank for it? The only part of it that I find decent is the Enterprise manager, which is not a bad UI for database administration... I ran from SQL Server to PostgreSQL the first chance I had...

      Besides this, I agree with your main point. You CAN still code user interfaces and everything the old way.... with code and without components, but what is so bad about saving time? That is what this RAD approach is all about. This is like the old argument about Java's garbage collection.... crappy programmers will write crappy code, but enhancements such as RAD, garbage collection, intellisense, etc., allows good programmers to save great amounts of time by saving them from needless repetitive tasks.

      Frankly, a lot of these "New" Visual Studio.Net features were already around a long time ago in Delphi. Delphi, not being a horrible hack language like Visual Basic, has been used professionally for a long time, and like with any programming language both good and bad code will be written with it. Visual Studio has some steps back and some steps forward in respect to Delphi, but the main point is that these are time saving features which, as you say, are fully optional.

    9. Re:Force? by duffbeer703 · · Score: 1

      You really need to go out of your way to do things differently than what VS provides out of the box. I've been a programmer for a decade and the first time I used VS (a few months ago), I felt like I needed to take classes to figure out how to use the IDE.

      I like the Unix model, where you really start with nothing, and build your work environment around what you do.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    10. Re:Force? by Anonymous Coward · · Score: 0

      Don't get me wrong, I love unix and unix programming, but are you trying to say that because you have to customize VS to suit you that it is easier to do it with unix where you "build your work environment around what you do"? Sorry to say, but for most people the first one, that provides everything in one package, would be much, much easier. You have to learn it.... like everything else that is new ;)

    11. Re:Force? by shibashaba · · Score: 1

      My sentiments exactly. I was never much of a programmer but never made the switch from using qbasic/power c as a kid in dos to using VisualBasic or anything else. There were just too many different places to put code, too many reasons for code not to run when you wanted it too. Not to mention that every piece of code has to be tied to an event, I always felt like everything I wrote looked hacked together because of it. That and simple things like drawing on the screen was (or at least seemed) impossible.

      --
      ---------- Open Source is capitalism applied to IP.
    12. Re:Force? by PepeGSay · · Score: 1

      Can you actually specify more than ane design habit or poor coding practice that is "encouraged" by the application? I would consider "encouraged" to be something that VS does for you that has no configuration option to turn off or modify. There isn't much new in the world of coding and design best practices. So I would think that a "good" design habit is not "the way I do it" but would be something that appears in an established best practices list.

    13. Re:Force? by Anonymous Coward · · Score: 0

      It isn't really fair to hold Visual Basic up as the standard you are comparing your environments against ;) Everything can be structured in the same way, even with visual basic. You just have to make the events call your own functions, for example.

      Visual Studio.net is an enormous improvement over previous Visual Studios (which sucked).

    14. Re:Force? by Jakeypants · · Score: 1

      You're absolutely right. I think this post is just FUD. If you want to teach the kid how to put a bike together, you don't buy a bunch of sheet metal and rubber, you give him tires, a seat, handlebars, pedals, all the other parts, and turn him loose.

      By using Visual Studio, he's still getting valuable skills. You have to know how to program to turn something worthwhile out of Visual Studio. He'll learn programming and get to focus on the interesting processing guts without having to sweat the boring code of manually positioning buttons or doing trivial tasks like that.

      He'll still learn design patterns, how to build objects and classes, execution flow, exception handling, and software design, just not the way the original article poster is used to doing it. Just because you prefer starting from scratch doesn't mean it's the best way. I applaud getting the kid on Visual Studio.

  8. Microsoft DEVELOPER tools are good by Work+Account · · Score: 5, Insightful

    I don't like MSFT any more than the next guy, but they do a couple things right:

    1) Hardware (keyboards, mice, ...)
    2) Developer tools

    I find Microsoft tools like VS.net and even some of their languages (C#) to be surprisingly good.

    Granted, I prefer Open Source most of the time, but when forced to use certain Microsoft things like Natural Keyboards or Visual Studio, I kind of like them.

    I'm sure I'll get modded down for supporting them, but hey I'm just being honest.

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:Microsoft DEVELOPER tools are good by Namronorman · · Score: 0

      I'd like to say the same thing, really. I personally use both Linux and Windows, and while coding for Windows (C and C++) using the Windows API, it's very convenient to have something solid like Visual Studio. I myself have a purchased copy of Visual Studio .NET 2003 and it's wonderful.

      Nothing is forced upon me, the GUI was easy to learn, and I can still do everything by hand. Even though there are a lot of pretty things to look at, you have a choice and at the end of the day, that's what I want. Visual Basic on the other hand? It seems like a lot of people mis-interpret the visual part. By the way if anyone wants to say you have to use their visual resource editor, you don't, there's an open as option!

      --
      $fortune
      Tomorrow has been canceled due to lack of interest.
    2. Re:Microsoft DEVELOPER tools are good by deinol · · Score: 5, Funny

      I'm sure I'll get modded down for supporting them

      This is Slashdot. You would have been modded down for supporting them, but you always get mod points for pointing out that you would be modded down.

      Now I'm going to be modded down for not being very funny.

      --
      Got Apathy?
    3. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 0

      Three things, in my opinion. Their games studio is pretty rock solid.

      Here's an interesting thought. Is it possible that part of the reason Microsoft has been so successful in keeping Windows the de facto standard is because their developer tools are pretty solid? That is, they've got a solid developer's network and pretty reliable APIs. Or is that a consequence of having been the de facto standard for so long?

    4. Re:Microsoft DEVELOPER tools are good by captain_craptacular · · Score: 4, Insightful

      If anyone but MS made Visual Studio I have 0 doubt that everyone on /. would be singing it's praises right now. VS is IMHO if not the best, then without of a doubt one of the top 2 IDE's in existance right now and has been for quite some time. Even in the much maligned VB.net you aren't forced to do anything with the GUI.

      The authors gripes about not being able to see the code in it's entirety are complete BS. All you have to do is expand the conveniently hidden setup and autogenerated code and you can read to your hearts content. The default is to hide most of that code because frankly, it's insignificant. Do you really need to see the declarations for the 250 objects on your form? Do you really need to see the wrappers around database drivers? No and No.

      Are you going to claim that a mechanic who uses the computer in your car to tell him you have a bad sparkplug is a bad mechanic? Or are you going to be quietly grateful that he was able to fix your problem for $50 in 1/2 an hour instead of the old school "hard core" method of slowly replacing part after part until you figure out which was the broken one, which costs you lots of time and money?

      --
      They who would give up an essential liberty for temporary security, deserve neither liberty nor security
    5. Re:Microsoft DEVELOPER tools are good by EpsCylonB · · Score: 1

      This is slashdot, you will now get modded up for pointing out the microsoft hypocrisy.

    6. Re:Microsoft DEVELOPER tools are good by superdoo · · Score: 5, Insightful

      And this post surely will not be modded insightful...

    7. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 1, Insightful

      I find Microsoft tools like VS.net and even some of their languages (C#) to be surprisingly good.

      Compared to what? You haven't used Eclipse, have you? I use both Eclipse and VS.Net 2003 at work, and VS.Net is "good enough" as an IDE but miles away from the productivity you get from Eclipse.

      Not only is Eclipse one of the best IDE's out there, it is free/open source and available for multiple platforms. And it's not just for Java, it also does C/C++. And there are plugins for Python, PHP, Ruby, etc.

      1) Hardware (keyboards, mice, ...)
      certain Microsoft things like Natural Keyboards


      I used a Microsoft Natural Pro (the only good one they made) for over a year, but soon realized what an inferior keyboard it was when I tried some older non-split keyboards. But that really applies to most keyboards made these days, they are almost all crap. Pick up a buckling spring keyboard from here and you'll find your typing speed and comfort increase. They are not as loud as you'd think either (maybe the original IBM's were), but they do sound different.

      Microsoft's recent keyboards have one incredibly stupid "feature": no Insert key. Need I say more?

      I've used plenty of Microsoft mice, from the standard white ones (which weren't too terrible) that used to come with most PC's, to the Intellimouse's (total crap). The Intellimouse I had at work, despite looking cool and having a bunch of fance buttons, was two heavy and did not fit my hand correctly, I eventually ditched it and brought in a Logitech I had at home. All the Logitech mice I have used have been better than any mouse Microsoft has produced. Right now I'm using an MX310 which is great if you don't mind that its not wireless.

      Microsoft's products (hardware and software) are "good enough" but not certainly not "great," especially when you compare them to what else is out there. It's hard to realize this if you haven't experienced much else.

    8. Re:Microsoft DEVELOPER tools are good by tomhudson · · Score: 1

      Are you going to claim that a mechanic who uses the computer in your car to tell him you have a bad sparkplug is a bad mechanic? Or are you going to be quietly grateful that he was able to fix your problem for $50 in 1/2 an hour instead of the old school "hard core" method of slowly replacing part after part until you figure out which was the broken one, which costs you lots of time and money?

      Any mechanic that has to use a computer to figure out which plug is bad is ripping you off. The old-school way is much quicker and easier - with the engine running, pull each spark plug wire, one at a time (they sell a special $10 pliers just for this task). The engine should slow down. If you pull the wire, and the engine doesn't slow down, or doesn't slow down as much, you've found the bad plug. 2 minutes, tops. So add another 5 for changing the plug, and another 3 for cleaning up. 15 minutes tops.

    9. Re:Microsoft DEVELOPER tools are good by Blakey+Rat · · Score: 1

      You can counter that by ending your post with an entirely off-topic bit of praise for Nintendo.

      Try something like: "It's clear that Nintendo hasn't been using Visual Studio, because their gameplay is brilliant!"

    10. Re:Microsoft DEVELOPER tools are good by CaptnMArk · · Score: 1

      1. keyboards

      NOT. whoever invented f-lock should be shot. The other new keyboards "features" aren't great either.

      2. mice

      Yes. But Logitech is better

      3. Developer tools

      They do some things well, and some things (wizards, build process) very badly.

      Eclipse is easily better than VS 2005 these days. The only thing saving MS is some C# improvements over Java.

    11. Re:Microsoft DEVELOPER tools are good by shutdown+-p+now · · Score: 1
      VS is IMHO if not the best, then without of a doubt one of the top 2 IDE's in existance right now and has been for quite some time.
      The top 2 IDE's on the market are, and have been 'for quite some time', IDEA and Eclipse. VS.Net didn't come anywhere close, as it lacked such basic IDE feature as refactoring, which is only now being introduced in VS.Net 2005.
    12. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 0

      Does anyone have an explanation as to why this was rated so low?

      Rule #1, never speak good of MS, even if you're correct because there be troll mods on the prowl!

    13. Re:Microsoft DEVELOPER tools are good by ThousandStars · · Score: 5, Funny
      Are you going to claim that a mechanic who uses the computer in your car to tell him you have a bad sparkplug is a bad mechanic? Or are you going to be quietly grateful that he was able to fix your problem for $50 in 1/2 an hour instead of the old school "hard core" method of slowly replacing part after part until you figure out which was the broken one, which costs you lots of time and money?

      Since this is /., I'm going to denounce anyone who buys pre-made cars instead of smelting and molding the steel themselves. Let's face it, those who don't design and implement the whole engine and drivetrain, on a lathe, by hand, are girly men at best. Furthermore, if you ever did use a mechanic, I'm going to question your worth as a human being and mock your nickname. In this case, I'll observe that the parent is named "captain craptacular," which hardly inspires confidence.

    14. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 0

      I don't like MSFT any more than the next guy, but they do a couple things right: 1) Hardware (keyboards, mice, ...)

      Er, but they didn't actually design their keyboards themselves. So the real thing they did right was "pay a bunch of money to an award-winning design firm to design a keyboard we can slap our logo on".

      I don't like MSFT any more than the next guy, but they do a couple things right: they're really handy with a checkbook!

    15. Re:Microsoft DEVELOPER tools are good by 21chrisp · · Score: 1

      Are you going to claim that a mechanic who uses the computer in your car to tell him you have a bad sparkplug is a bad mechanic?

      I keep seeing this Developer/Mechanic comparison. It's misleading. Would most people have a problem w/ a mechanic using a computer to diagnose a problem.. no of course not. But.. what about the Engineers that design the car? Would you rather have a computer auto-design your engine? What if it was an airplane? This is a different story and is a closer analogy. I know I wouldn't want a car where the Engineer couldn't tell me what part X is for, when he was the one that "designed" it. Especially if he is actually in the process of designing it.

      You really don't know where your software may be used. It may not seem like a critical program, but it could be used in conjunction with a critical system. I've seen "fancy" screen savers crash medical equiptment. The user has to trust that your software is reliable, even when it seems like it shouldn't need to be.

      Auto-generated code is more likely to lead to unreliable software. Especially, if the coder doesn't know exactly how it works. Auto-generated code is also usually the sign of a poor API. A well designed API will not need any auto-generated code. It would be concise enough to only take up a line or two and would be flexible enough to do what you want in most cases. Unfortunately Win32 is not such a well designed API.. such a thing is very hard to create though.

      There are many things about VS that are nice, but it is pretty much made to work with auto-generated code. Sure, you don't HAVE to use it, but (as an earlier post suggested) you are strongly encouraged to. In fact, it's pretty hard to figure out how to NOT use it. The whole visual design process seemed like a novel concept, but it seems to fail in practice. The RAD aspect of it will just get a crappy product out the door faster... yippee. There are plenty of ways to do RAD w/o auto-generated code. You CAN produce a product quickly without sacrificing quality. In a vast majority of cases, auto-generated code is going to sacrifice quality. In most cases, the productivity improvement is pretty much negligable. In fact, I've had many cases where it seemed to slow things down. That's just my experience though...

    16. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 0

      Refactoring is provided by a slew of third-parties, some for free. Why do you fucktards think that Microsoft has to package it up and hand it to you for you to think that it exists? Microsoft will release their own refactoring support in VS2005, and then you'll bitch that MS is trying to leverage their monopoly to put all of those third parties out of business.

    17. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 0

      Are you going to claim that a mechanic who uses the computer in your car to tell him you have a bad sparkplug is a bad mechanic? Or are you going to be quietly grateful that he was able to fix your problem for $50 in 1/2 an hour instead of the old school "hard core" method of slowly replacing part after part until you figure out which was the broken one, which costs you lots of time and money?

      You would pay $50 to change a spark plug and call it a bargain? Otherwise, your analogy is a very good one. I'd be happy to hand a grease monkey $10 to change a spark plug; even if it is a little sad that they'd need a computer to help them figure that out. However, I wouldn't give the same monkey any amount of money to work on my racecar. For that, I would pay real money for someone who actually understands how things work.

      To the uninitiated, either type of mechanic might appear brilliant. Only one of them really is.

    18. Re:Microsoft DEVELOPER tools are good by shutdown+-p+now · · Score: 1
      Refactoring is provided by a slew of third-parties, some for free.
      If you mean ReSharper, then it did not support VB.Net (I do not know whether it does or not now), and only appeared long time after VS.Net was released. The GP, however, stated that all versions of VS.Net were cream of the crop at the moment of their release, which is obviously wrong.

      For the record, I am a Win/C# developer myself. I very much dislike Java, but after I saw what IDEA, and to a lesser degree, Eclipse can do with refactoring, I learned to despise VS.Net as an IDE.

    19. Re:Microsoft DEVELOPER tools are good by presidentbeef · · Score: 1

      holy cow how DID you DO that?

      --
      Everything I need to know about copyrights I learned from Slashdot.
    20. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 0

      7 times modded Overrated. Wow. The premise of the Slashdot submission is that VS "forces you" into something, and clearly the hippy loons here don't want people to know that that's not necessarily true. Why I read at -1, so leftie kooks can't color my world!

    21. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 1, Insightful

      As if there wasn't proof enough already that moderation here on Slashdot is fucked up.

    22. Re:Microsoft DEVELOPER tools are good by fingusernames · · Score: 1

      Are you going to claim that a mechanic who uses the computer in your car to tell him you have a bad sparkplug is a bad mechanic? Or are you going to be quietly grateful that he was able to fix your problem for $50 in 1/2 an hour instead of the old school "hard core" method of slowly replacing part after part until you figure out which was the broken one, which costs you lots of time and money?

      Uh, this is a really bad analogy. The modern method *is* to replace parts until it magically works, at least for any engine management problem of any complexity. They use the computer to tell them which part to replace. When that doesn't fix it, well, the computer said it was bad, the computer is always right, so now this other mysterious electrical part must have gone bad. The vast majority of current mechanics do not actually diagnose electrical/sensor problems. They don't take the allegedly bad part out, take it to the bench, and test it to verify that it really is broken. They just pull a code out of the computer, order the replacement part, and swap them. In most cases it's cheaper than actually testing and verifying. I've run into this multiple times. I've had mechanics, supposed good ones, replace parts because the computer said they are bad, which logically would have NOTHING to do with the symptom. One example: my wife's car was dying at stops/slowing, stumbling on the highway, and failing to start. Happened more often when it rained. The dealer got it, and couldn't duplicate the problem of course, multiple times. They replaced a few parts because the computer said so. One was the fuel pump -- at least that makes some sense. Always had the same problem shortly after I picked it up. The last time I went to pick it up, thankfully it was raining. I escorted the dealer monkey to the car, and watched as he couldn't start the car. I told him to stop, run in, grab the mechanic, and have him bring the Consult with him. He plugged it in to the OBD. Car is not starting, and the computer is showing no problems. No codes. Real-time diagnostics fine. Mechanic tries some starter fluid in the PCV hose. Eventually starts. The mechanic, knowing we report stumbling, dying, hard starts, then says "well, we'll try replacing the starter next." WHAT!? Morons. Air, fuel, spark. Air, fuel, spark. Diagnose those you turds. Eventually they replaced the COMPUTER. Problem solved. Of course, for all I know the ECU harness was seated badly. They just replaced it because they couldn't figure out what it could be otherwise.

      Good mechanics are not just code readers. Good mechanics know how the car works, and how to diagnose the car (in this case the engine management system) as a system (air, fuel, spark), not a collection of individual parts which the wonderful computer is nice enough to point out may be "broken" because a sensor allegedly fell outside of the recommended voltage range momentarily and thus raised a flag in the ECU.

      I hate taking cars to mechanics.

      And an aside on the IDE thing. Last time I used an IDE was DOS Borland Turbo C in 1990 or so. I've since developed and led the development of very large, very complex projects with nothing more than vi (I've tried the MS editors, but no vi bindings? ICK!), cc/CC/javac, and make. Along with rcs/cvs and other ancillary support tools. I suppose one reason I don't use IDEs is because I very rarely develop GUI user-facing applications and thus don't need to deal with those myriad OS interfaces and boiler-plate code. The other supposed benefits of an IDE I've never really needed. Good design, combined with top-down development of well-defined and well-documented discrete programatic units have always made large, complex projects very managable.

      Larry

    23. Re:Microsoft DEVELOPER tools are good by Alex+Zepeda · · Score: 1

      Are you going to claim that a mechanic who uses the computer in your car to tell him you have a bad sparkplug is a bad mechanic? Or are you going to be quietly grateful that he was able to fix your problem for $50 in 1/2 an hour instead of the old school "hard core" method of slowly replacing part after part until you figure out which was the broken one, which costs you lots of time and money?

      No car will tell you that the SPARK PLUG is bad. More likely is that the car would tell you that the spark did not have the intended effect (generally a misfire).

      I would chastize the mechanic who saw a misfire code, and could only think to replace the spark plugs. There are any number of components that could be at fault, and the diagnostic codes will generally only tell you the symptoms.

      Any mechanic who started replacing parts to clear the codes, instead of doing proper diagnostic work isn't worth his or her salt.

      By calling proper diagnostic work the "hard core" method, you've just showed how bogus your analogy is.

      --
      The revolution will be mocked
    24. Re:Microsoft DEVELOPER tools are good by tooth · · Score: 3, Funny

      These aren't the droids you're looking for.

    25. Re:Microsoft DEVELOPER tools are good by halleluja · · Score: 1
      Oh well. It's just as sucky as the Win GUI, Office, COM, NET and just about any succesful MS product tailed by multiple OSS wannabe-clones in progress...

      I know, this is definitely not modded as insightful.

    26. Re:Microsoft DEVELOPER tools are good by Anonymous Coward · · Score: 0

      I personally don't have time for MS developer tools, but I'd imagine they'd be useful for GUIs in particular and some "under the bonnet stuff" too, if I could be bothered to spend time learning how to use it.

      However, your car post is a bit inaccurate: As an "old school" type of car-user I can diagnose anything that's wrong with my old heap pretty much straight away. And if it's running rich or misfiring, I don't have to take out a laptop and flash some ROM with proprietary code: I just turn the mixture screw, or take off the dissy-cap and advance the timing a little. I guess for many (note: I'm not saying "all") purposes, simpler is better. I can fix my car in the driveway; my uncle has to get his garage to book a timeslot in a satellite-link to France. My car's the one that hasn't broken down in the last 13 years...

    27. Re:Microsoft DEVELOPER tools are good by xouumalperxe · · Score: 1

      I'll just mod you down if you don't come up with an Open Source keyboard! :-)

  9. Say what? by 187807 · · Score: 1, Funny
    From TFS:
    ...Microsoft tools force you...


    Microsoft? FORCE? No way!

    1. Re:Say what? by Gilmoure · · Score: 1

      In post-Soviet Georgia...

      --
      I drank what? -- Socrates
  10. Top Down / Bottom Up by dubl-u · · Score: 3, Insightful

    In the article, he mentions that IntelliSense encourages bottom-up programming, as it can only give hints for existing code. That's less true about IntelliJ's excellent Java editor IDEA (and I think Eclipse too, but it has been a while). Why? Because if you write a method call that doesn't exist, you can hit alt-enter and it will create the method for you. As somebody who likes both top-down and bottom-up approaches depending on circumstance, I think it balances things out nicely.

    1. Re:Top Down / Bottom Up by _xeno_ · · Score: 5, Interesting

      Eclipse does something like IntelliSense, but it does it correctly, assuming his description of IntelliSense is correct.

      Basically, Eclipse doesn't do anything while you're typing. If you type out "id" and a space, it stays "id" with a space after it. In fact, Eclipse won't do anything if you just type "id." It will only start offering suggestions after you enter a period to access an object's properties and methods. Even then, if you're typing fast enough, it won't pop up anything. If you pause, it will display a list, but it won't alter your typing unless you press enter. So if you have a new object, and you decide it needs an "id" field, which you haven't defined yet, you can simply do "object.id = foo;" and Eclipse won't replace "id" with anything. (It will, however, flag it as an error, since "id" isn't defined in this example.)

      Now there's another feature of Eclipse's implementation: pressing Control-Space anywhere a Java identifier can go will bring up a list of identifiers that can fit there. (This includes things like in doc comments.) So if you don't want to type out "ExcessivelyLongInterfaceNameInterface," you can just type "E" and hit Control-Space, and up will pop a list of everything that starts with "E." However, it will NEVER replace what you're typing, until you press enter. Continuing to type will further refine the list, so if you type "x" after popping on the list above, it'll further refine the list to things that begin with "Ex."

      This gives you all the power of Microsoft's IntelliSense (something I missed when going from Visual J++ to Java 1.2 all those years ago), but causes none of the "don't do that for me" problems the author of the article was complaining about.

      I don't think his complaint was the concept of code assistance, it was Microsoft's implementation.

      --
      You are in a maze of twisty little relative jumps, all alike.
    2. Re:Top Down / Bottom Up by 91degrees · · Score: 1

      I don't think his complaint was the concept of code assistance, it was Microsoft's implementation.

      Yup. I simply set VS up to only autocomplete when I press tab (I think this is a third party plug-in. Also corrects capitalisation and spell checks comments). But I think he has a point. The tools do assume you want to do things in a very specific way. It's not the editor utilities so much as visual editors. GUI toolkits, even APIs will insist on producing an application that is heavily geared around the UI, and impossible to port to any other toolkitm and hard to retrofit to an existing application.

    3. Re:Top Down / Bottom Up by D3m3rz3l · · Score: 1

      Hmmm. This is weird. I use Visual Studio every day for both C++ (unmanaged) and C#. And even in C#, it does not complete identifier names for me. If I type a period, then it will bring up a list of properties/method/fields, but only then. And I don't recall making any changes to the default intellisense configuration (I don't even know if it lets you do that).

    4. Re:Top Down / Bottom Up by Mr2001 · · Score: 1

      Having used both Visual Studio and Eclipse, I must say I like Visual Studio's implementation better. 99% of the time, when the IDE starts autocompleting something while I'm typing, that's exactly what I want it to do. Instead of typing "Dictionary x = new Dictionary();", I can type "di x = new ();" and get the same result. If I don't want to autocomplete something, I can just hit Esc to cancel completion.

      Also, Visual Studio has Ctrl+Space too.. but again, it doesn't make you press enter to do the completion. I suppose that's a matter of preference, but I use completion so often that I'm glad I don't have to hit that extra key each time.

      --
      Visual IRC: Fast. Powerful. Free.
    5. Re:Top Down / Bottom Up by Kentamanos · · Score: 1

      That's the first thing I thought when I read it. I've used various versions of VS for years and never noticed the annoyance he's going on about. I'm starting to use VS 2005 and haven't noticed it be annoying like this yet.

    6. Re:Top Down / Bottom Up by Mr2001 · · Score: 1

      Because if you write a method call that doesn't exist, you can hit alt-enter and it will create the method for you.

      You can do that in Visual Studio 2005 too. Write a call to a method that doesn't exist, and a little blue box appears under the method name. Click the box and VS will offer to create the method stub, using context to figure out the parameter and return types.

      --
      Visual IRC: Fast. Powerful. Free.
    7. Re:Top Down / Bottom Up by Anonymous Coward · · Score: 0

      The difference being that Microsoft's implementation doesn't take 30 seconds and 256 megs of ram just to show the auto-complete box.

    8. Re:Top Down / Bottom Up by ad0gg · · Score: 1

      It doesn't change what you type, it will make suggestions but if you want to type out .blahblah, it will allow you too. Visual Studio won't autocomplete till you hit tab. The guy posting has obviously never used visual studio but gets modded 5. Quite funny.

      --

      Have you ever been to a turkish prison?

    9. Re:Top Down / Bottom Up by sjelkjd · · Score: 1

      You can actually turn off the intellisense on every character in VS 2005 if you want, while still retaining the old behavior(complete after a . for a member reference). Tools -> Options -> Text Editor -> c#(or any language) -> Intellisense -> Show completion list after a character is typed

    10. Re:Top Down / Bottom Up by Anonymous Coward · · Score: 0

      Using Ctrl-Space for autocompletion/intellisense dropdowns anywhere in your code has been in Visual Studio since at least the late 90s. Give credit where credit is due.

    11. Re:Top Down / Bottom Up by _xeno_ · · Score: 1

      This would be why my comment started with "assuming his description of IntelliSense is correct." I haven't used Visual Studio since Visual J++[1], as my job has been pure-Sun Java. For the longest time, I just lived without an IntelliSense like feature, since Eclipse's only really became usable with 3.1.

      The article was suggesting that IntelliSense makes for bad programming practices, and I disagree. I don't know what the article writer did to his VisualStudio implementation, but if he mis-configured it, that's not a problem with IntelliSense, it's a problem with the way he configured it.

      [1] Actually, that's not completely true. I recently had to write a COM object that integrated with Java, and that involved ATL and Visual Studio. But I used it for all of a week, and the majority of the "heavy lifting" was done in Java.

      --
      You are in a maze of twisty little relative jumps, all alike.
  11. Indeed it does! by fyrie · · Score: 5, Funny

    I'm a C# coder who uses Visual Studio 2003 8 hours a day during the week. I recently got an MRI and the results were unanimous - TEH BRAIN ROT!

    1. Re:Indeed it does! by dabraun · · Score: 1

      If you were really using visual studio it would have autocorrected 'TEH' for you.

  12. Nonsense, it's just another tool! by Average_Joe_Sixpack · · Score: 4, Insightful

    I will say VS has "allowed" more "unqualified" developers into the mix due to the ease in using the tool, but to say it would effect the creativity of a good developer is bullshit. This guy sounds like the old time machinists who bitch about CNC over a mill and lathe.

    1. Re:Nonsense, it's just another tool! by LibertineR · · Score: 0, Offtopic

      Exactly right. I owe you mod points.

    2. Re:Nonsense, it's just another tool! by tjasond · · Score: 1

      I have to agree that VS allows folks with little programming experience to whip up something quickly. However, having worked in a mixed environment for the past 5 years (Java / .NET), and having experienced Eclipse for over the past 2 years, I can see how VS can lead you down a dark path.

      I wouldn't say that it effects the creativity of a good developer, but it does wear one down. The fundamental problem, from a developer's standpoint, is that VS creates barriers to progamming with any agility. Simple refactoring, such as changing a Class name, or changing a Class's package, are major headaches in VS. After a few hours of fixing errors for those "mistakes", you tend to start looking at your calendar and realize you just cannot go back and fix every single Class or namespace issue.

      Then you have a lack of simple code generation, such as generate Properties (in java it's getters/setters) or implement abstract methods from a base class (there is only code completion for implementing interfaces). This leads to encouraging developers to shy away from using abstract classes.

      The Object Hierarchy tool is generally useless. What classes implement this interface? What classes extend this class? These are questions you have to find out on your own. Without this knowledge, many existing wheels seem to get reinvinted.

      Also, the lack of incremental compile, even if it were just a low priority background thread that ran as you saved, is non existent. This makes developers unnecessarily pour over syntax that the compiler will pick up for you.

      There is no mechanism to organize imports (or "using"'s in .NET). This wastes valuable time and leads to copying and pasting imports from a similar class, which is just plain sloppy, but due to the fact that you actually have to deliver working software, isn't exactly high priority.

      Oh, and Visual Source Safe, which is really an oxymoron, is the only revision control system that VS supports. Choice? Nope, so we use CVS outside of the "IDE" (in quotes because the first term in the acronym is supposed to stand for "Integrated").

      It wears me down. Trying to be a good developer using VS is an uphill battle. Always.

    3. Re:Nonsense, it's just another tool! by Anonymous Coward · · Score: 0

      Hear Here! This is the same argument as saying that 3rd generation languages like C, FORTRAN, and COBOL dumbed down a developer's understanding of computing compared to those that knew earlier generation languages like machine code, microcode, and assembly.

      Development (and computing in general) is much more than knowing the difference between big-endian and little-endian. Its about knowing how to break a business problem down into its fundamental components and how to solve that problem using technology.

      Who cares if a development tool hides the implementation of how event handlers work or how to build a proper class structure. What separates a good developer from a great one is their ability to take an existing Business Problem and fix it such that the solution is more efficient, maintanable, scalable, and cost effective...end of story. If the work involved translates into a couple point&click activities, all the more power to them.

      This is one of those fields where experience in "effectively" solving business problems counts so much more over "how do you build a class in java".

      Its always nice to have the background in the "how" something works under the seams ...however, this by itself does not make you a good developer...In fact, if this is the only skill you have, good luck trying to get hired after you get fired from your first job.

    4. Re:Nonsense, it's just another tool! by cloakofcarrot · · Score: 1
      Agreed!

      I recently went through a very interesting excercise: I installed a new engine in my 1985 VW Vanagon (if you are interested: http://www.cloakofcarrot.com/gallery/1985Westfalia vanengineinstallation )

      I did some reasearch, tracked down three companies that built engines for these sorts of vans, chose one. Now the 1985 vanagon has a 1.9l engine, which is no longer made, and was quite unreliable. Fortunately, the engine builders are capable of manufacturing a 2.1l engine that is bolt-equivalent of the 1.9l.

      This meant that all I had to do was take the old engine out, swap the parts onto the new engine and put it back in.

      I am not a professional mechanic, but through studying literature, figuring out best practicies and talking to domain experts, was able to work through the process, and the van has been running great ever since.

      There are a couple of things to learn here:

      1. Why didn't I build my own engine? Engines are a highly-domain expertise specific thing, and require special knowledge and tools to construct and test. Also - the market will not support a large number of engine builders.

      2. By having clearly defined interfaces, I was able to not only change engines, but get a more powerful engine installed

      3. It was reletively easy to do, as I simply had to have a good knowledge of the problems that were likely to occur, and the patterns required to solve them. I did not need a low-level understanding of how engines work, how to build engines or how to be a machineist....

      This 'how low do you know' debate has been going on for years, and is really quite redundant. Different people are going to have different levels of understanding, and tolerance for complexity. Not everyone can be a Linus Torvalds and build their own operating system.

      Those with skills and capability to handle the complexity should be involved in constructing lower level systems. But there is not a need for everyone to construct or understand things at a low level: the market will not support it.

      The key is for those who engage in building these systems is to have clearly defined interfaces and patterns that will allow the rest to succesfully and effectively apply their creations to solve problems.

      Why don't we all build our own computers and hardware from vacuume tubes and magnets? That way everyone would understand exactly how things work at the lowest level.

      Each wave of development builds on the last, and the more recently you learn things, the farther away from the core you get. Certainly, I could spend the time to learn assembler etc, but the company I work for likely won't see the value in that compared to focusing on understanding design patterns, unit testing and then effectively applying those principles through whatever IDE tool I use.

      The only way to build bigger and more reliable systems is through the use of well engineered systems that can be built into a whole matching a design. The domain experts in building motors can build the motors, and a desginer who needs a motor to power a car or a plant, can select the correct motor for their design and be assured that if they build a system that gives it the right coolant, fuel and oxygen that it will power their system reliably for the specifications provided.

      That is how things are done in the engineering world, and that is the way things will continue to move in thes software world.

    5. Re:Nonsense, it's just another tool! by Adammil2000 · · Score: 1

      "Simple refactoring, such as changing a Class name, or changing a Class's package, are major headaches in VS..."

      You haven't worked with Whidbey (VS.NET 2005) have you? There are some truly awesome things now on the right click menu choice "Refactor" for doing exactly those things. You highlight some code and can choose: Rename (changes it across the whole project), Extract Method, Encapsulate Field, Extract Interface, Promote Local Variable to Parameter, Remove Parameters, and Reorder Parameters.

      Additionally, you can also click to insert or surround with snippets of any typical programming structure like: for loops, struct, class, method, foreach, iterator, namespace, ctor, class, etc. etc. you can click something and find all references clickable in the search window, etc.

      I find them so useful that now I get the creeps using the older versions of VS that don't have them.

    6. Re:Nonsense, it's just another tool! by Randolpho · · Score: 2, Insightful

      I have to say, for such a long post, you got quite a bit wrong. While I agree with you that current default implementations of Visual Studio would be greatly improved with some refactoring/generation capabilities, there are two important things you left out: 1) there are third-party refactoring tools available for Visual Studio that, frankly, rock, and 2) refactoring support will be available with the new version of Visual Studio due out next month. Written, in fact, by one of those third-party vendors I mentioned.

      So what if you don't like the Object Browser? Others find it a very useful tool. If you don't, you don't have to use it, now do you?

      Fact: Incremental compilation is already available in Visual Studio.

      Now, I'll grant you that Visual Studio only supports VSIP for source control, but there are tons of third-party plugins available for

      As for import organization... It's not really that important. Yes, it's a neat feature of Eclipse, one that certainly helps reduce namespace clutter, but it's gravy, not meat.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    7. Re:Nonsense, it's just another tool! by Breakfast+Pants · · Score: 1

      "Also, the lack of incremental compile, even if it were just a low priority background thread that ran as you saved, is non existent." The lack of incremental compile is nonexistent? Watch the double negatives.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
  13. who's fault is that? by conJunk · · Score: 4, Interesting
    I tried to turn him on to coding, but he went out and got Visual Studio, and went off on his own. He came back and proudly demonstrated his various creations.
    Well come on. When I was a kid my down sat my down in front of Apple BASIC on our IIgs. When I was little older we got THINK C. Whoever started this kid off in Visual Studio has some 'splainin to do.

    There's a reason we start with printf("Hello World."); and not with dragging a text box into a big white rectangle.
    1. Re:who's fault is that? by pdbogen · · Score: 1

      Apple BASIC? Lucky git. When I was a kid I plugged my TRS-80 into my television (without the aid of an RCACoax convert, but with the aid of a CoaxAntenna adapter... sometimes) and wrote me some TRS-80 BASIC.

    2. Re:who's fault is that? by 2short · · Score: 2, Insightful


          Of course, there's no reason you can't do printf("Hello World."); in Visual Studio. I too started in BASIC, because that's what was available. Frankly, "drag some buttons onto a gui and get an app that looks cool and does nothing" is EXACTLY where I would start a child today. They'll do that maybe twice, then want the buttons to do something and go from there.
          Or I could edit a text file, run a couple command line apps and wind up with a command line app that prints "Hello World!" to the screen. Woo-Hoo!!! What kid wouldn't love that? I mean, sure, I did. But I can kind of fogive kids today if text appearing on a screen does not strike them as quite so miraculous.

    3. Re: who's fault is that? by Anonymous Coward · · Score: 0

      I hadn't used Vis[ctrl+space] Stu[ctrl+space] before I started work after fin[ctrl+space] Uni[ctrl+space], I real[ctrl+space] like the intelli[ctrl+space] though. I always thought it was the caffine that was rot[ctrl+space] my bra[ctrl+space] but I could be wro[ctrl+space].

      My first program was the toilet version of hello world:

      while(1)
        printf("Fuck You");

      Perhaps my brain was rotten to begin with.

    4. Re:who's fault is that? by scorpioX · · Score: 5, Funny

      TRS-80 and a TV? Lucky you! In my day, we had to write the equivalent of Hello World, by entering the binary code via the Altair's switches. 6 hours later (because you would inevitably screw up and have to start from the beginning) the panel lights would flash "Hello World" in Morse Code. And we had to walk through 10 miles of snow to get to the computer - barefoot!

    5. Re:who's fault is that? by morcego · · Score: 5, Funny

      You had binary code ? Lucky you.

      When I was a kid, I had to write the Hello World program using only 0's.

      --
      morcego
    6. Re:who's fault is that? by TWX · · Score: 3, Funny

      You had electricity?! In my day, we had to plumb the pipes and fill the mercury to appropriate levels, and once we had our "program" written we had to sit there and pedal the bicycle fast enough and long enough to run the darn thing! If you messed up, you were stuck re-soldering and detoxifying from exposure to mercury.

      --
      Do not look into laser with remaining eye.
    7. Re:who's fault is that? by d34thm0nk3y · · Score: 4, Insightful

      There's a reason we start with printf("Hello World."); and not with dragging a text box into a big white rectangle.

      Why? They are both levels of abstraction. I don't think too many of us programmers got our start in assembly. I personally started with BASIC on a 286. An abstracted language whose major feature was ease of use. I don't think there is a fundemental difference other than visual abstraction is used to easily create visual applications and textual abstraction was used back in the day to generate textual programs.

    8. Re:who's fault is that? by Matthaeus · · Score: 5, Funny

      You had mercury and pipes?

      In my day, we had to create a religion that induced the masses to spend millions of man-hours moving stones just to get a working calendar!

    9. Re:who's fault is that? by TWX · · Score: 5, Insightful

      "Frankly, 'drag some buttons onto a gui and get an app that looks cool and does nothing' is EXACTLY where I would start a child today."

      Then start them out with "The Incredible Machine" or some other mousetrap-alike where the objective is to build the most complex functioning thing possible with weird widgets provided to the operator. You give them a taste for making something without giving them any kind of tool that will force bad habits upon them. If they go off and end up using Visual Studio for GUI programming, well, that will happen to some, but others may never see the GUI programming stuff and go straight into building complex machines using letters and syntax instead of using drag and drop.

      I had other vast, varied tools at my disposal. I had a LOGO program. I had ROM Basic, GW Basic, Quick Basic, and Power Basic. I had Borland C/C++ for DOS. I had a Texas Instruments calculator and a graphlink cable. I had gcc. I don't doubt that my Basic programming experience caused problems for when I tried to move on to C, but at least I wasn't thinking that making fancy dialogue boxes was programming compared to writing the back end of something.

      I started with MS-DOS, but Microsoft's real hard push for their GUI hit in 1993, when I was thirteen. I found that after years of GUI, when I started playing with programming, being able to control things that I had done myself through the command line was insanely cool. It was like opening the hood of a car or taking the case off of a complex electronic device. I felt like I was gaining more mastery over the computer itself, rather than just using it. I'd suspect that many kids that are the 'take it apart and find out why' type would feel similarly.

      --
      Do not look into laser with remaining eye.
    10. Re:who's fault is that? by admdrew · · Score: 4, Insightful
      They are both levels of abstraction. I don't think too many of us programmers got our start in assembly.

      You're definitely right, but I think that starting out with the high-level languages is a good balance between abstraction and being able to have some powerful control. Start too high (Visual Studio, etc) and you risk not being able to easily understand what's really going on. Start too low (ASM) and you may be too frustrated to continue... or may not be able to understand 'the big picture' when it comes to programming.

    11. Re:who's fault is that? by Anonymous Coward · · Score: 0

      was it uphill both ways?

    12. Re:who's fault is that? by mikael · · Score: 2, Insightful

      Well come on. When I was a kid my down sat my down in front of Apple BASIC on our IIgs.

      Having line numbers really helped me focus on getting the architecture of a program first, because there wasn't any easy way of changing line numbers (apart from some extra assembly language routines that could be loaded into spare memory).

      The editor of Visual Studio isn't too bad, but the MFC/.NET dialog editor is terrible. You should move him onto Trolltech's designer for Qt.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    13. Re:who's fault is that? by Anonymous Coward · · Score: 0

      The most important thing we've learned,
      so far as children are concerned,
      Is never,never,NEVER let,
      Them near your computer set-
      Or better still, just don't install
      The idiotic thing at all.

    14. Re:who's fault is that? by Kingrames · · Score: 1

      I blame C.
      i understand a HELL of a lot more about computers and programming than most, and I can attrbute some of it to my first language: basic.

      You see, basic is very restricted to what it can do.

      You type
      DO
      X = RAND * 1000
      IF X = 1
      PRINT "."
      ELSE PRINT " "
      LOOP

      and you get an amazing program that prints out a starry backdrop on your screen.

      It takes a hel of a lot of work to do that using C, and you have to understand very difficult concepts like rendering a black background and putting dots on a random location on screen.

      that above program could be written in the time it took for you to read it.

      C is very complicated, and as I see it, people get intimidated. Hell, you might as well call it a barrier to entry rather than a starting point.

      --
      If you can read this, I forgot to post anonymously.
    15. Re:who's fault is that? by ToasterofDOOM · · Score: 1

      Me too!!! Uphill both ways, I know how you feel. Of course, we had to feel out the morse code in the wires by holding it between our teeth and waiting for a shock, no fancy lights or whatnot. AND WE LIKED IT!

      --
      I am Spartacus
    16. Re: who's fault is that? by Z34107 · · Score: 2, Funny

      You realize a faster version of your program would be:

      for(;;) printf("Fuck You");

      'Cuz, ya see, your compiler might otherwise generate code to compare 1 with true, whereas the empty for header has no such overhead. Y'see, that's 'cuz IntelliSense is is GOD.

      --
      DATABASE WOW WOW
    17. Re:who's fault is that? by DJCater · · Score: 5, Funny

      I had to get up in morning at ten o'clock at night, 'alf-hour before I went to bed. Eat a lump of cold poison, work twenty-nine hours a day down 't mill, and pay 't mill owner for permission to come to work, and when we got home, our Dad would kill us, and dance about on our graves singing "Hallelujah."

      --
      MP

      --
      Sig Appended to the end of comments you post. 120 chars.
    18. Re:who's fault is that? by rocjoe71 · · Score: 4, Funny
      You had alphabet to spell "Hello World"? Lucky you!

      I banged two rocks together and cousin Ugg just "got it".

      --
      Height: 38U, Weight: 0 Newtons, Eyes: #0000FF, OS: Gray Matter 1.0 (Alpha)
    19. Re:who's fault is that? by Precambrian-C · · Score: 2, Funny

      Damn, but that was brilliant. Thanks. And I already burned all my moddies on another thread. Damn!

    20. Re:who's fault is that? by stevey · · Score: 2, Insightful

      On the other hand I learnt a lot about computers, and had a much simpler time understanding pointers and C concepts than almost anybody else I knew - because I'd grown out of the limitations of BASIC and started writing programs in z80 assembler.

      To me the notion that a pointer was merely an address was completely obvious, and I didn't have many problesm with it. Seeing students learning C and struggling is almost painful to me these days.

      Because beginning programs nowadays really have it a lot harder than I did. Sure they have pretty GUIs and can do more complex things but they don't need to understand the computer from the bottom up like I did when I was a child.

      This invariably means they don't learn the computer, so things like pointers are a mystery to them. (Maybe that is a good thing, maybe not, but it is certainly a different world now). But not knowing what is happening is much like not understanding the code generated by the wizards in Visual Studio. Sooner or later you'll find yourself in over your head and will have no idea what has gone wrong.

      (And sure I accept that I had it easy when I started coding in BASIC and had a snappy casette deck to save code on, compared to programmers before me)

    21. Re:who's fault is that? by Enrico+Pulatzo · · Score: 4, Funny

      Still better than using Exchange server...

    22. Re:who's fault is that? by dumbskull · · Score: 1

      Reminds me of an old Dilbert's strip.

      Programmer 1: "These days kids have no real coding experience, all they do is drag and drop, i used to write a whole automation system using asembly"
      Programmer 2: "Same here, we just zeros and ones, sometimes only zeros to write a program.
      Dilbert : "You guys were lucky, you atleast had zeros, we had to use the letter 'O' "

    23. Re:who's fault is that? by DoctorLard · · Score: 1

      And you tell kids these days, and they won't believe you.

    24. Re:who's fault is that? by AmberBlackCat · · Score: 1

      Yes but now you can drag a text box on the screen and type "Hello World" in its Text Property box. It's got potential to be a lot faster, especially for things like resizing the text and buttons. I think the old way of programming is necessary for the model but visual programming makes sense for the view. I remember spending a long time trying to get buttons and boxes in the right place by coding. It would have taken a few minutes if I could just drag everything to the right shape and location.

    25. Re:who's fault is that? by Arandir · · Score: 1

      You had 0s? You wuz lucky! We were too poor to afford base-1, and had to make do by typing "zerozerozerozerozero...". I'm the better man now for it!

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    26. Re:who's fault is that? by Anonymous Coward · · Score: 1, Funny

      Oh yeah? Back in my day we would go outside in freezing weather and write "Hello World" with our own piss into the snow.

    27. Re:who's fault is that? by dumbskull · · Score: 2, Insightful

      Lucky dog, You had zeros?, we had to use the alphabet 'O'

    28. Re:who's fault is that? by Lord+Kano · · Score: 1

      If I never see another unary program, it'll be too soon.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    29. Re:who's fault is that? by morcego · · Score: 2, Interesting

      AT LAST!!!
      I know someone was on the same page :)

      --
      morcego
    30. Re:who's fault is that? by 2short · · Score: 2, Insightful

      "Then start them out with 'The Incredible Machine' or some other mousetrap-alike"

      Maybe. But when I was getting into coding, any suspicion that what I was doing was a toy, and not the real thing would have killed my interest. I wanted to write programs that looked and felt just like the "real" ones, and these days that means a GUI. I'll admit, I'm speculating, not speaking from experience. I coded for 4 different command-line-only OSes before I ever saw a GUI; and I scoffed at the first one I saw (Mac) along with the other self-repecting geeks. By 93 I was out of college and working at my first programming job.

      I guess I don't understand what "bad habits" one will suposedly acquire from VS. Is making an app with a nice GUI a bad habit? Is it the drag-and-drop building of said gui people object to? Seems like the optimal way handle automatable stupid stuff like putting together gui widgets. Who want's to tweak source to line up checkboxes? I certainly don't see how VS "forces" any of this on you. I for one don't use any of that, because my code is generally library stuff with no user front end at all.

    31. Re:who's fault is that? by TapeCutter · · Score: 1

      "There's a reason we start with printf("Hello World."); and not with dragging a text box into a big white rectangle."

      So tell me, what stops you from writing a traditional "Hello World" in VS?

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    32. Re:who's fault is that? by Taladar · · Score: 1

      And then you realize that your program looks totally shitty when the end user has a different screen resolution and resizes the program window...

    33. Re: who's fault is that? by Dwonis · · Score: 2, Informative

      An even *faster* version would use puts instead of printf, and cut out all the format string parsing overhead...

    34. Re:who's fault is that? by Anonymous Coward · · Score: 0

      but...that's what rubxulcamalithpon-rails is for! keep up with the times, man!leben11!

    35. Re:who's fault is that? by NixieBunny · · Score: 1

      And it's straight from Monty Python's Secret Policeman's [other] Ball.

      --
      The determined Real Programmer can write Fortran programs in any language.
    36. Re:who's fault is that? by glavenoid · · Score: 1
      To me the notion that a pointer was merely an address was completely obvious, and I didn't have many problesm with it. Seeing students learning C and struggling is almost painful to me these days.

      I agree, however, I think the biggest problem with pointers in C is not so much understanding that *a pointer points to some memory address*, but rather how to properly dereference pointers.
      Consider some struct malloced off the heap, which *might* contain pointers in its member list. Does one use the "->" operator or the "."(dot) operator to select the apropriate member? I've seen a LOT of people have trouble with this. Also, function pointers, which STILL give me headaches from time to time...

      --
      I, for one, am looking forward to the inevitable /. beta rollout fallout.
    37. Re:who's fault is that? by Anonymous Coward · · Score: 0

      You had two rocks and a cousin? Lucky you! Back in my day, it took me six days to create the rocks! Since I was the only one, I simply understood. You young 'uns and your 6-digit Slashdot ID's.

      -DrkShadow

    38. Re:who's fault is that? by Wavicle · · Score: 2, Funny
      One of the things I hate about C (and especially C++) is its ability to be non-C-like. Take a valid C implementation of your program for example:
      #define RAND ((double)rand()/2147483647)
      #define DO for(;;){
      #define LOOP }
      #define PRINT(a) printf(a);
      #define IF if
      #define ELSE else
      #define START {
      #define END }
       
      main() START
        int X;
       
        DO
        X = RAND * 1000;
        IF ( X == 1 )
        PRINT(".")
        ELSE PRINT(" ")
        LOOP
      END
      (in case you're wondering, gcc compiles that just fine)
      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
    39. Re: who's fault is that? by Anonymous Coward · · Score: 0
      Don't forget to employ some loop unrolling:
      #include <stdio.h>
      int main(void)
      {
          register count = 100;
          register n=(count+4)/5;
          switch(count%5){
              case 0: do { puts("Fuck you");
              case 4: puts("Fuck you");
              case 3: puts("Fuck you");
              case 2: puts("Fuck you");
              case 1: puts("Fuck you");
                      } while(--n>0);
          }
      }
    40. Re:who's fault is that? by fingusernames · · Score: 1

      It is fine to start with a high-level abstraction and give some instant gratification. A five line C program that prints "Hello World" is surely such an abstraction. But it is wrong to start from that point and never attempt to go back and understand what is happening under the hood. Every reputable CS program should have students programming assembly, or binary, at some point. Every student should write a compiler of some type that produces assembly or binary. Every student should develop an OS, or at least understand the concepts and develop a few fundamental components thereof. I haven't been in a CS program for fifteen years, but I have a feeling that lots don't do that, and that lots of developers today learn nothing but the high-level abstractions provided by Java or .NET or whatever other environment is in vogue. I hope I'm wrong.

      Larry

    41. Re:who's fault is that? by fingusernames · · Score: 1

      Heh... I once wrote a library function that took as arguments pointers to functions, which each had multiple pointers to functions as arguments. That was not easy to declare, especially not in ANSI vs. K&R C. The things you did to get object-oriented behavior in straight C...

      Larry

    42. Re:who's fault is that? by Anonymous Coward · · Score: 0
      I coded for 4 different command-line-only OSes before I ever saw a GUI; and I scoffed at the first one I saw (Mac) along with the other self-repecting geeks.

      Yeah, I thought it was a toy too, until I started reading Inside Macintosh and saw just how complex was the code needed to make such a GUI appear simple and consistent. Even the simplest Mac program was quite advanced compared to a DOS program with comparable functionality.

      Even today, it's obvious that most programmers don't know a damn thing about good interface design, GUI or CLI. Those Human Interface Guidelines were written for a reason!

    43. Re: who's fault is that? by truedfx · · Score: 1
      Uh, no. Firstly, you can't use puts to do printf("Fuck You") since puts always emits a newline, and secondly, if you use printf with something ending with a newline:
      % cat test.c
      #include <stdio.h>
      int main() {
          printf("Hello, world!\n");
      }
      % gcc test.c -S -o test.s
      % cat test.s
      .file "test.c"
      .section .rodata
      .LC0:
      .string "Hello, world!"
      .text
      .globl main
      .type main, @function
      main:
              pushl %ebp
              movl %esp, %ebp
              subl $8, %esp
              andl $-16, %esp
              movl $0, %eax
              addl $15, %eax
              addl $15, %eax
              shrl $4, %eax
              sall $4, %eax
              subl %eax, %esp
              movl $.LC0, (%esp)
              call puts
              leave
              ret
      .size main, .-main
      .ident "GCC: (GNU) 4.0.2 (Gentoo 4.0.2-r1)"
      .section .note.GNU-stack,"",@progbits
      the exact same code as with puts can be generated depending on the compiler.
    44. Re:who's fault is that? by lordofthechia · · Score: 1

      'Then start them out with "The Incredible Machine"'

      Wow, I had forgotten about that awesome program! Another "game" my kids are going to get to play is going to be Mind Rover . It's a nice intro to EE logic and it's loads of fun to boot.

      --
      Georgia Tech, the leader in Chia(tm) technology.
    45. Re:who's fault is that? by ultranova · · Score: 1

      I had to get up in morning at ten o'clock at night, 'alf-hour before I went to bed. Eat a lump of cold poison, work twenty-nine hours a day down 't mill, and pay 't mill owner for permission to come to work, and when we got home, our Dad would kill us, and dance about on our graves singing "Hallelujah."

      When I was young, I programmed with line-number Basic.

      But I kinda worry for the guy with who modded you informative...

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    46. Re:who's fault is that? by Anonymous Coward · · Score: 0

      Tell kids that today and they don't believe you.

    47. Re:who's fault is that? by Monsieur_F · · Score: 1
      Even though it is not important in the example, I feel it is safer to define PRINT this way:
      #define PRINT(a) printf("%s", a);
      --
      McCartney fans pay bus tickets. [...] Lennon fans too, with discretion.
    48. Re:who's fault is that? by Emil+Brink · · Score: 1

      Um, I know you got modded Insightful and all (at least when I write this), and you sure make a few points. But you don't seem to have, well, you know ... how do I phrase this ... Yeah: read the article! If you had, you would perhaps talk less about visual design of visual things, and more about how Visual Studio (according to Mr Petzold) affects the code. Just a thought. :)

      --
      main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
    49. Re:who's fault is that? by Cederic · · Score: 2, Insightful


      In the article the speaker noted that he recommends people start a new VS 'empty' project, not a Windows Forms project.

      They then have control, and can intentionally add the features they desire.

      People who know how to drop widgets on forms know only that. People who know how to code can also drop widgets on forms.

      I think people should learn to code, and then pick up tools that improve their productivity. Start with the basics first, learn what's happening and why, and you'll be far better than if you merely mechanically repeat simple actions.

      I like the article. I don't use VS, I don't write code for Windows any more, I've never written anything in c#. I can also relate to everything he's said, and agree with most of it.

    50. Re: who's fault is that? by jaavaaguru · · Score: 1

      >.ident "GCC: (GNU) 4.0.2 (Gentoo 4.0.2-r1)"

      I bet you compile KDE with -S just to see if it can be made any faster ;-)

    51. Re:who's fault is that? by andersa · · Score: 1

      Try telling the kids that these days, and they won't believe you..

    52. Re:who's fault is that? by doublebackslash · · Score: 2, Funny

      You had heavy elements?

      Wimp.

      --
      md5sum /boot/vmlinuz
      d41d8cd98f00b204e9800998ecf8427e /boot/vmlinuz
    53. Re:who's fault is that? by SirPavlova · · Score: 1

      What is it about Trolltech's Qt designer which makes it so good? I've never used a form designer which was actually nice to work with, but the one in VS.NET seems pretty good. I'd love to play around with something better.

      --
      Yar.
    54. Re:who's fault is that? by Eivind · · Score: 1
      Because, fundamentally, a program is a sequence of commands for a computer to execute. 10 print "Hello" 20 print "World" Is also a sequence of commands, for a computer (in this case an interpreter, but that's a detail) to execute.

      The issue ain't textual versus graphical, the issue is the very fundamental idea that a computer follows a list of instructions, doing one after another (possibly looping and branching) until it's done.

    55. Re:who's fault is that? by Jessta · · Score: 1

      yes they are both levels of abstraction.
      But as with everything that gets more and more complex the lowest level most people will be at becomes higher and higher up the chain.
      The level of abstraction of printf("hello world"); is a good place to start because it's the lowest level one can go and still be able to relate it to normal language.

      --
      ...and that is all I have to say about that.
      http://jessta.id.au
    56. Re: who's fault is that? by truedfx · · Score: 1
      I don't use KDE, I use sawfish. I know you're joking, but I actually have had to look at the generated code for that once. It was to help find an aliasing bug in gcc 4.0.1 (which is now fixed). It only affected a relatively unimportant piece of the code: when using Alt+Tab to switch windows, the box with the window name is supposed to disappear when you release Alt, but with gcc 4.0.1, it would only disappear after the next keypress.

      (Some details: gcc assumed a certain pointer could only point to a local variable, and removed one single assignment at the end of a function because of it. Such removal would be correct in
      void f() { int i, j, *p = (rand() % 2 == 0) ? &i : &j; *p = 3; }
      which rightfully gets compiled to the same code as
      void f() { rand(); }
      but in sawfish's case, the pointer actually didn't point to a local variable.)
    57. Re:who's fault is that? by Finuvir · · Score: 1

      That sketch actually predates Monty Python, though John Cleese and Graham Chapman were in it. It started life on At Last the 1948 Show. The Pythons did perform it a few times, and it was on one of their albums.

      --
      Why is anything anything?
    58. Re:who's fault is that? by halleluja · · Score: 1
      (..) nd dance about on our graves singing "Hallelujah."
      I'm just too tired for a witty comment.
    59. Re:who's fault is that? by Xyrus · · Score: 1

      When I started out in the game industry, I was put on gameboy/gameboy color. The whole thing is programmed in a stripped down z80 assembler, very limited memory, cpu, and graphics.

      Best damn programming experience in the world. Nothing like practically writing your own OS from scratch for programming experience. :)

      ~X~

      --
      ~X~
    60. Re:who's fault is that? by kilodelta · · Score: 1

      Ah, the TRS-80. I had literally hacked the hell out of mine. It getting lowercase involved the flipping of a toggle switch. That plus tapping off the expansion port for various experiments was fun.

      Knew the damned machine so well that one day the characters looked a little funny on the screen. I noticed one of the elements/pixels of the character had dropped out and from that could identify the RAM chip that went south and replaced it.

      And my bad programming habits come from BASIC. Not VB though I've had to deal with too much of that in my career.

    61. Re:who's fault is that? by DJCater · · Score: 1

      I got it from Monty Python, hence the MP signature. It's on "The Final Rip-off" album, titled "Four Yorkshiremen".

      --
      Sig Appended to the end of comments you post. 120 chars.
    62. Re:who's fault is that? by adamjaskie · · Score: 1

      I'm a third-year student in a CS program. So far, I have done Java, C++ (and a little QT along with it), MIPS Assembly, Scheme, a tiny bit of Prolog, and I am currently taking a class, "Introduction to Operating Systems", that covers CPU scheduling, process synchronisation, message passing, and so on. In the same class we did assembly, we built a simple processor in a logic simulation program. I don't know if this is typical of a CS program these days, though. Of course, there was also DFAs, grammars, lambda calculus, etc, and data structures and so forth. I still haven't taken Algorithms, but once I take that, and the group project class, I am pretty much done with the core curriculum.

      When I started, the CS1 course was Java-only. I think they now have a CS1 course in C++ as well. Of course, I learned C++ in high school in the AP Computer Science program, which has also since switched to Java.

      --
      /usr/games/fortune
    63. Re:who's fault is that? by SenFo · · Score: 1

      "One of the things I hate about C (and especially C++) is its ability to be non-C-like. Take a valid C implementation of your program for example:"

      I broke my arm back in February and went to the doctor about a month later to talk about my progress. I told him that I was feeling alright, except that my arm hurt when I "do this" (I moved my arm in a way that made it hurt). The doctor looked at me for a few seconds and proceeded to tell me in a very firm voice, "Don't do that."

      Although possible, it's very rare (for me) to come across code written as you posted. When used properly, the preprocessor can be a great tool. Perhaps one of my favorite uses of it is to do away with "magic numbers" without the need of creating variables to store them in, which some languages enforce. Unfortunately, as you have demonstrated, the preprocessor does have the possibility of being abused.

      In the infamous words of my orthopedic surgeon, "Don't do that" ;-).

    64. Re:who's fault is that? by MBGMorden · · Score: 1

      It was Commodore BASIC for me :). I've still got my trusty old C64 stored away.

      I transitioned from that to QBASIC on DOS 5.1, and then to various BASIC compilers I got from BBS's (I remember one was called ASIC. There was another really nice one whose name escapes me at the moment).

      I tried several times to learn C on my own, but never had any sucess with it. After getting to college Having an instructor available (and taking Java first) seemed to make C a lot easier to comprehend.

      --
      "People who think they know everything are very annoying to those of us who do."-Mark Twain
    65. Re:who's fault is that? by mikael · · Score: 1

      For me, it is good because it allows you to design dialog windows that can be resized, but without the complexity of having to manually define attachments in source code (like X-Windows/Motif) or write your resize code routines (like MFC). You can set preferences that determine whether a widget can be resized vertically and/or horizontally, maximum and minimums sizes etc...

      The definition of each dialog window is kept in a separate .ui file, which is also used to generate the corresponding widget initialisation source code. This allows you to reuse existing dialog windows with new applications without having to scoop out and dissect the interface.

      You can also create your widgets through the use of 'plugins' which
      can be used directly through designer. And there is support for OpenGL, although SDL is much more efficient.

      And there is also qmake which allows you to build Makefiles without having to go through the pain of manually defining every single dependency between files.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    66. Re:who's fault is that? by J-Doggqx · · Score: 1

      And you try and tell the young people of today that, 'n they won't believe you.

      --
      END OF LINE
    67. Re:who's fault is that? by Anonymous Coward · · Score: 0

      you had opposable thumbs? Lucky You!

      in my day, i had to bang my head against my so called cousin. and he liked it!

      oh wait.

    68. Re:who's fault is that? by Wavicle · · Score: 1

      Although my example was somewhat extreme, I have seen a lot of code where the original author thought it would be cool to create a pseudo-language through clever macros. The situation got a lot worse with C++ when they started mixing all that with operator overloading. As a very simple main stream example, consider:

      BEGIN_MESSAGE_MAP( MFC_Window, CFrameWnd)
      ON_WM_LBUTTONDOWN()
      ON_WM_LBUTTONUP()
      END_MESSAGE_MAP()

      A piece of code that appears in nearly all MFC applications. The code appears outside of a function or class definition. What does it do? What can it do? Why doesn't it look like C?

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
    69. Re:who's fault is that? by 2short · · Score: 1

      You're correct, I had not read the article when I made the above comments, I was replying to the other commenter. Just for you, I have now read the article and can tell you from an informed perspective that it is full of shit.
          He talks about stuff I never touch, maybe he's right about those. I doubt it, because he talks about several things I do use, and the bad things they force on you. Well, I don't do things those bad ways, or feel any urge to.
          Let's take intelli-sense. I use intelli-sense, and think it's the gtreat. But it had never remotely occurred to me to use bottom-up vs. top-down design so as to get more out of intelli-sense. His whole argument there is based on the premise that once you get in the habit of using it, you must code so as to use intellisense, because you won't be able to get by without it. But if you can't get by without it, your doomed already. It's not nearly that good. It's totally fabulous for things like not having to remember if "reverse_iterator" has an underscore in it; it's useless for knowing if there is such a thing in the first place. Judging by his example, he likes to write lines of code that constitute meaningless syntax errors, then go back and change them, and his problem is that intellisense is targeted to people who like to write valid code. Hmmm... actually, I can't get his example to happen at all...

      Here's another random quote:

      "Visual Studio doesn't want you to use arrays or loops to create and position these buttons. It wants you to use the designer, and it wants to generate the code for you and hide it away where you can't see it."

      As of the current version, VS is not sentient. It doesn't "want" anything. If you want to write code to use arrays and loops to position buttons, have at it. VS will compile your code no problem. Why you would want to do this, I can't imagine, but you can. Personally, I'll use the designer to generate code for me and hide it away where I don't have to see it. Note that of course I easily CAN see it if I want to. It's ugly stuff, no doubt, and I'd think little of any human coder who wrote stuff that way. Then again, we're talking about code that can be auto-generated by a stupid wizard. Having a competent coder waste time on such would be truly inane.

      His basic complaint seems to be that VS gives him too many tools, and he picks the wrong one for the job. I don't buy it, because the right tool for his job is also available, and the tool he picked is actually the right one for a different job.

    70. Re:who's fault is that? by agurkan · · Score: 1

      why not
      #define START main() {
      rather than
      #define START {

      --
      ato
    71. Re:who's fault is that? by SirPavlova · · Score: 1
      The definition of each dialog window is kept in a separate .ui file, which is also used to generate the corresponding widget initialisation source code. This allows you to reuse existing dialog windows with new applications without having to scoop out and dissect the interface.

      This sounds like the way the Mac interface is done... can't really remember, I've only read about it.

      Anyway thanks, I'll have to check it out some time.

      --
      Yar.
    72. Re:who's fault is that? by Anonymous Coward · · Score: 0

      You had two rocks to bang together to spell "Hello World"? Lucky you!

      I'm still walking around the world saying "Hello" to everyone!

    73. Re:who's fault is that? by Anonymous Coward · · Score: 0

      This one's not from Monty Python, it's me speaking.

      I also had a TRS-80, and a Z80 assembler. My TRS didn't plug into the TV, it came with its own monitor.

      One day at work, I read about FORTH in a BYTE magazine. I was so impressed with the language that I went home and implemented it in assembler.

      The source-code was so large that I had to split it into two chunks and assemble each separately.

      Forth - now there's a language!

    74. Re:who's fault is that? by Trogre · · Score: 1

      Luxury.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    75. Re:who's fault is that? by AmberBlackCat · · Score: 1

      If you knew what you were talking about then you would realize this can be dealt with in a "visual" programming environment. Making the window fit well within the smallest possible screen resolution and making it non-resizeable is one method. Maybe you should also consider the possibility that this could happen in a non-visual programming environment just as easily because it is a result of bad programming, and has nothing to do with the merits or faults of "visual" programming.

    76. Re:who's fault is that? by ctzan · · Score: 1, Informative

      the source code of the original Bourne Shell
      is something like that (macros that turn C into
      Algol).

      Some comments in the BSD Almquist mention that
      as the original reason for the reimplementation.

    77. Re:who's fault is that? by mfrank · · Score: 1

      I've always thought the best way to teach someone young how to code would be by writing a text adventure game.

    78. Re:who's fault is that? by smithmc · · Score: 1

        You're definitely right, but I think that starting out with the high-level languages is a good balance between abstraction and being able to have some powerful control. Start too high (Visual Studio, etc) and you risk not being able to easily understand what's really going on. Start too low (ASM) and you may be too frustrated to continue... or may not be able to understand 'the big picture' when it comes to programming.

      I think you wanna start at the lowest possible level that still provides a relatively painless development environment and can produce visible, direct feedback.

      Back in my youth, that was the BASIC interpreters on the classic 8-bit micros. Once you exhausted the limits of BASIC, it wasn't too hard to drop down to assembly for more advanced things that required complete control of the machine, and the assembly language was dead simple (two GP registers! Woohoo!). The Commodore VIC-20 even had an available assembler/monitor/debugger on a plug-in cartridge.

      These days, it's almost impossible to get that kind of range on a home PC. You basically have your choice of high-level, very-high-level, or really-really-high-level. Doing cool stuff like hooking up some chips to an expansion port and making an LED blink and next to impossible. Makes me wonder how long it'll be before companies can't find new embedded developers anymore.

      --
      Downmodding is the refuge of the weak. Don't downmod, make a better argument!
    79. Re:who's fault is that? by bar-agent · · Score: 1

      You fool! You're playing right into Visual Studio's hands!

      Don't you realize that building complex things with weird widgets is exactly what form designers are designed for? Remember VB development? Put a component on a form, edit the event code, and nary a main() in sight! It's all disconnected and isolated, and figuring out a program is like looking at an elephant through a key-hole.

      Your "solution" will be the ruin of us all!

      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
    80. Re:who's fault is that? by MrResistor · · Score: 1

      Nothing, but it'll have tons of extra, unneeded crap attached to it.

      When I was first learning to code, I started all my projects in Notepad, then opened them in VS when it came time to try and compile it. That was the only way I could keep the clutter down to a managable level, and end up with something I could actually say I understood.

      --
      Under capitalism man exploits man. Under communism it's the other way around.
    81. Re:who's fault is that? by Kingrames · · Score: 1

      I feel obliged to point out one thing: the QBASIC program I wrote above prints out a field of white dots on a black background. your program, barring running in a command line terminal, does black dots on a white screen. It always bugged me that programs could be ruined by stuff like that. regardless, I've learned one very important thing about programming: You learn more by breaking stuff than you could ever learn by obeying the rules.

      --
      If you can read this, I forgot to post anonymously.
    82. Re:who's fault is that? by Anonymous Coward · · Score: 0

      Could be worse... It could be macros that turn C/C++ into Ada.

  14. Visual orthogonal to coding by evw · · Score: 1

    Visual Studio and Microsoft tools force you to adopt programming techniques designed around implementation speed, not understanding or quality.

    So VS makes implementation easier. Does that lead to sucky code? No. It just lowers the bar so that sucky coders can knock something out.

    Here are some guys who compare a GUI design using VS to Mac OS X. Executive summary: VS does well in polish, although after some tool development on the Mac side it holds its own:

    http://blog.phanfare.com/2005/10/mac-vs-pc-develop ment/

  15. It must be Microsoft's fault! by Jeian · · Score: 0, Troll
    This is just silly. How on earth does a software program *force* you into bad programming techniques? Either you know how to do it right, or you don't.

    But any excuse to bash Microsoft, eh?

    1. Re:It must be Microsoft's fault! by Anonymous Coward · · Score: 0

      wow. simply stunning

      you have never programmed more than helloworld have you

    2. Re:It must be Microsoft's fault! by A+beautiful+mind · · Score: 0, Redundant

      Hey, I'll start bashing Bush in a second too, I know you would like it ;)

      But seriously, some things are bashed for a reason.

      --
      It takes a man to suffer ignorance and smile
      Be yourself no matter what they say
    3. Re:It must be Microsoft's fault! by Anonymous Coward · · Score: 0

      wb jeian

  16. Does it? Not sure. But from experience I can say: by Anonymous+Crowhead · · Score: 5, Insightful

    Beware the coder who can't for the life of him code without it.

  17. Re:yes, it does rot your brain, or at least habits by js3 · · Score: 2, Insightful

    This anecdote is quite a load of bullspit. Anyone who has been working with GUI will be stumped for a bit in front of a console.

    --
    did you forget to take your meds?
  18. Re:yes, it does rot your brain, or at least habits by Seumas · · Score: 1

    My much younger brother is going into computer science with a bent toward game programming and most of his courses focus on Visual C++. He is aware of Linux and Unix (because it's what I do for a living and all of my personal stuff runs either on that or OSX), but I doubt anyone is going to teach their programming courses on anything else (for the most part), for the same reason nobody is going to require that students have OpenOffice or StarOffice instead of Microsoft Office.

    *sigh*

  19. Disconnected from the environment by erroneus · · Score: 4, Interesting

    Is it good or bad? I can't tell you. But the more disconnected from the environment and the machine, the less comfortable I feel about programming. Then again, the only program languages I know are Assembler for 6809, general forms of original BASIC and C. Object oriented stuff more or less caused me to lose interest in programming because it was increasingly difficult to imagine what the computer was really doing when it was executing my code. With BASIC and C, I can mentally write the assembler code and understand what's going on.

    So... yeah I can see where programmer's eye-candy would be a major distraction for a programmer just getting started. But "back in the day" useful code could be written in Basic and C... wasn't complex or beautiful but served some purpose. In today's visual environments, it's not too hard to imagine kids getting REALLY bored with making meaningless code that doesn't look like the apps they are accustomed to running... but it's that meaningless code that really drives apps right?

    Maybe I'm missing something important (and I probably am) but my initial impressions of graphical RAD tools are that it's a lot of flash and bluster but doesn't inspire a coder to write code.

    1. Re:Disconnected from the environment by temojen · · Score: 1
      Object oriented stuff ... difficult to imagine what the computer was really doing

      A Class is a struct with some members that are pointers to functions. Calling a member function is just dereferencing the pointer and calling that function. You can easily make Object Oriented code in C (The Linux Kernel, for example), or Assembley (I did this on 68HC11 for a Real-Time Programming class).

      OO Paradigm is very handy to understand complex systems, whether you use an OO language, Templates, etc., or not.

      If you understand the Model-View-Controller Pattern, graphical RAD tools are very handy to implement the View layer where it's a GUI. The View layer is often the most code, but the least theoretically and computationally difficult part. It won't help with the model and controller components any more than a good IDE or editor/toolchain combination.

      If you don't understand the MVC Pattern, using a GUI RAD can lead to some pretty nasty code.

    2. Re:Disconnected from the environment by nate+nice · · Score: 1

      "A Class is a struct with some members that are pointers to functions."

      I think it goes beyond that, really. OO is not just classes, as I'm sure you know. And really function pointers are nothing more than memory addresses for a beginning of some text section of your target .asm.

      OO extends well beyond classes and is guarded by the principals of encapsulation, reuse through inheritance, interfaces and generic types, which in general is just a typing concept. Then there is a result of this which is polymorphism, which of course allows for methods to execute depending on the type of the caller.

      I think in the end, OO comes down to an organization and type system that gets away from static and dynamic and goes into more abstract concepts.

      I would say for someone like the parent, learning OO is indeed very difficult. They are used to structured programming and write software with the hardware very close in mind. OO on the other hand allows for expression that removes itself from hardware and concentrates more on types. The result of this idea of types allows for many of the features of OO programming.

      With that, I suggest anyone really interested in OOP write a compiler for a small OO language. It's a lot of fun getting to the code generation part which makes you deal with dispatch, type checking (harder than it sounds because of the nature of inheritance, interfaces and how they create less types, etc) and then of course the basic parts of translating nodes on your abstract syntax tree into text sections of .asm, or whatever your target is.

      "If you don't understand the MVC Pattern, using a GUI RAD can lead to some pretty nasty code."

      Yes.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    3. Re:Disconnected from the environment by KrispyKringle · · Score: 1

      I'm not sure why you seem to think that graphical IDEs are synonymous with high level programming languages. VisualStudio can be used to write C (and probably ASM, too), for one thing, and all mainstream languages still are tied to plain text source--meaning you can use Notepad if you'd like, even to write Java, C#, Lisp, or Haskell (to name a few high level languages).

      If you don't like higher level programming languages (I'm not really sure why you wouldn't--and in my experience, most people who say "I like to be close to the machine" are really just idiots who think they're too smart for automatic memory management), that's fine, but I'm not sure how it's relevant to this discussion.

    4. Re:Disconnected from the environment by Dogtanian · · Score: 4, Insightful

      Object oriented stuff more or less caused me to lose interest in programming because it was increasingly difficult to imagine what the computer was really doing when it was executing my code.

      Would you freak out with something like (e.g.) a Pentium II that converts all the CISC instructions to RISC microcode internally without being able to see it? Just curious...

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    5. Re:Disconnected from the environment by Breakfast+Pants · · Score: 1

      Polymorphism isn't too hard to understand in terms of the generated assembly. In C++, when calling a "virtual" function it just means you go to a predetermined offset in the VTable to find that function. I can see how much of this is hidden in Java and many other OO languages, but C++ lays everything pretty bare.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    6. Re:Disconnected from the environment by Anonymous Coward · · Score: 0

      You have to realize that programming is simply a way to implement abstract and concrete math concepts. OO is a very natural and simple way for a programmer to create abstract mathemtical concepts (ie lists, stacks, queues, etc) and allow their reuse very simply - it's a way to save the programmer's time. And BASIC was an interpreted language, which means you didn't really know exactly what the computer was doing anyway.

    7. Re:Disconnected from the environment by erroneus · · Score: 1

      I tried to read what you wrote but I kept getting headaches and nosebleeds. Please stop it...

    8. Re:Disconnected from the environment by kumanopuusan · · Score: 1
      When the grandparent refers to "imagin[ing] what the computer was really doing", he's talking about a mental model that he finds intuitive and that predicts the behaviour and efficiency of a program reasonably well. I doubt that he was imagining the state of each transistor in the machine. If he can imagine that the Pentium II is CISC without being surprised by its behaviour, it probably doesn't freak him out too much.

      Object oriented code is harder for him to translate to the model of a computer that is useful for him, so it seems less natural and sensible, and it's probably less fun.

      To get back on topic, if Visual Studio encourages code that is difficult for programmers to translate to a low-level model, it's discouraging them from thinking about the computer at a low-level. That might be harmful, but it isn't exactly brain rot, either.

      --
      Use of the words "good", "bad" or "evil" is almost invariably the result of oversimplification.
    9. Re:Disconnected from the environment by todorb · · Score: 0

      caused me to lose interest in programming because it was increasingly difficult to imagine what the computer was really doing when it was executing my code

      read this paper from bjarne stroustrup! it explains how multiple inheritance and polymorphism are implemented. you'll love it! it's a must read for anyone that calls himself a c++ developer.

    10. Re:Disconnected from the environment by angel'o'sphere · · Score: 1


        because it was increasingly difficult to imagine what the computer was really doing when it was executing my code.


      To help your imagination:
      * The Computer/Processor is laoding values from memory into registers.
      * Pushing values onto the stack.
      * Performing calculations with registers or values on the stack.
      * Jumping to addresses, when a value in the register is interpreted as address.
      * RETurning or jumping to previous addresses by poping values from the stack or using a register.

      Well, to make it simple: if you talk about going on and languages, then a modern oo language still only can perform calculations and jumps. Guess when you write a method call, what happends? Wow, correct, a jump is done.

      I really simply can't understand why one cant imagien "what is going" on in your machine if you use a different language.

      Memory layout of objects might be a different issue ... but how it basically works is just the same like using a macro assembler.


      Maybe I'm missing something important (and I probably am) but my initial impressions of graphical RAD tools are that it's a lot of flash and bluster but doesn't inspire a coder to write code.

      No, you don't miss anything. Writing code is boring. I have code in my mind, I could not write during my whole lifetime, because it's just to much. So I prefer to "describe" what I want to write, e.g. in a CASE system and generate the code. Thats RAD.

      But it seems you are happy with coding :D
      So what.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  20. C++ Intellisense and... by Anonymous Coward · · Score: 0

    ..."Edit and Continue" are awesome features, and I wish that an open-source IDE had them. Actually, kdevelop's Intellisense is coming along nicely, so that just leaves the latter. I doubt we'll ever see it in our lifetimes, though :( These two features are really the only things I admire about Visual Studio (I'm not interested in the "Visual" aspect at all), which in turn is the only product of Microsoft's that I admire. I can live without them, but going back to make, gcc and gdb feels like going back to the stone ages.

  21. Absolutely Not by th1ckasabr1ck · · Score: 3, Insightful
    I've posted about this before.

    I guess I'm one of those uncool geeks who actually likes Visual Studio. I use it 10 hours/day and it certainly makes me more productive at my job.

    It's also worth noting that VS doesn't FORCE you to do anything. There's always "Win32 console project" if you want to code like that.

    1. Re:Absolutely Not by bani · · Score: 1

      sure would be nice if microsoft had a c99 compliant compiler. i guess you can always plug in mingw32 though.

    2. Re:Absolutely Not by macrom · · Score: 1

      When I read some of these responses here, it sounds like a bunch of blowhards that are just bitching about IDEs in general. To make statements that Visual Studio causes you to write bad code or instills bad habits is no different than saying Linux students who use pico instead of emacs or vi will be poor coders. Your choice of editor has little bearing on how talented and/or meticulous you are about your code.

      I've been using Visual Studio professionally since 4.2. I've also used CodeWarrior extensively on Mac OS. I'm sorry, but there is no substitute for a graphical editor with integrated compiler, linker and debugger. Tools like this are invaluable to a developer, and that's exactly what Visual Studio gives you. Sure, it can generate code skeletons, help with glue code for UI elements when using MFC/ATL, generate some (nasty) COM wrappers (hello, who here LIKES dealing with IDispatch?) when needed, etc. Raise your hand if you think writing IDL and RPC marshalling code is a fun weekend project. No thanks. I'm GLAD that I get certain things for free when it comes to my development tools.

      The big catch is that you don't HAVE to do any of this. When you create a project, "Empty Project" is always an option. Developers that actually care about honing their skills pick this option. I've done this since I first touched VS in 1997, ALWAYS creating my own setup for GUI apps (Petzold-style, not MFC. I'll take the code generation there, thank you) and console apps alike. I'm a much better programmer for it, but it's only because I chose to take the time to learn how things work rather than blindly accepting what my IDE gives out. I generally only use generated code when I need complex COM object wrappers or want to quickly generate an MFC app as a test harness.

      The key here is choice as well as environment. If you're using C++, you get a lot less help than if you're using VB.NET or C#. And the code that gets generated is usually basic setup code and GUI helpers. It's not like you have a button in the IDE that says, "generate code to spawn 5 threads and keep them all synchronized with an appropriate object". You can however say, "generate the basic functions for handling button events", which leaves you to concentrate on other important code that requires more manual intervention.

      Maybe next we should gang up on Xcode from Apple. After all, they give you tools to do the same things that Visual Studio helps with and leave the developer with the same choices regarding manual vs. generated code.

    3. Re:Absolutely Not by Anonymous Coward · · Score: 0

      Tools like this are invaluable to a developer

      No, they are invaluable to someone who couldn't write a hello world program if their life depended on it. For a developer they are only a help.

      If they are invaluable to you, that just shows which group you are in.

    4. Re:Absolutely Not by macrom · · Score: 1

      And it shows you're in the group that I mentioned before : ignorant blowhards. For some stupid reason people here on Slashdot think IDE developer = developer must not be worth a damn. Since when did using an integrated development environment make you a bad coder? Are you saying that because I use a C++ dev tool (which happens to make development with VB.NET a breeze by generating a lot of code) makes me a developer that can't write a "hello world" program? That shows a lot of ignorance on your part.

      Macromedia uses Visual Studio. Adobe uses Visual Studio. id Software uses Visual Studio. Are you saying that the developers at these and other renowed companies can't write a "hello world" program because of their dev tool choice? If you think this, then you're just a fucking idiot, plain and simple.

  22. Re:yes, it does rot your brain, or at least habits by rackhamh · · Score: 2, Insightful

    Some people like to build a computer by simply identifying compatible components and plugging them together. Others aren't satisfied unless they know the intimate details of how each of those individual components works. Either way the computer does its job in the end.

    Hopefully this analogy makes sense. Basically, don't assume that just because somebody's preferred modality is different from yours, that makes it faulty.

  23. For those of us who don't care by mikejz84 · · Score: 4, Informative

    I use VB6 and .net when I need to bang out an app, esp for database stuff. I known dame well it's the ideal way, but then again, I don't call myself a programmer. I really don't care about the deep stuff, just making something to get the job done. If I need something better, I would hire someone to do it. .net is like an automatic car; purist dispise them, but for 90% of people, they could care less, they are not intrested in the car, just were it can get them.

    1. Re:For those of us who don't care by shutdown+-p+now · · Score: 1

      That also explains why so many Windows applications, especially developed in-house, are so extremely buggy and crash-prone - precisely because they are made by people who do not know (nor want to know) how to do things properly. Thank you for being so frank and pointing it out yourself.

    2. Re:For those of us who don't care by mikejz84 · · Score: 1

      Yeap Thats the honest truth, and If i needed something that was better I would pay someone who knows what they are doing; but most of the time, 'okay' gets the job done.

    3. Re:For those of us who don't care by shutdown+-p+now · · Score: 1

      Unfortunately, it seems to be the mainstream approach to development not only software for yourself, but for other people as well. Most shareware titles out there are written like that, and even a fair share of those you get to buy before you have a chance to see. I suspect that it has to do with the fact that this development style is what taught today in many IT courses, and what's worse, it is presented as the one and only way to do things (and students are most often too lazy or too uncertain to question that).

    4. Re:For those of us who don't care by Anonymous Coward · · Score: 0

      I don't agree. I've been banging out a small database app in Visual Basic 6 over the last week or two, and I think it encourages bad coding practices. Having used Java a fair amount (it wasn't allowed in this app), I find the inherent level of abstraction offered in VB6 to be a hindrance. I know enough about creating database apps to know how I want to do things, and how I believe they should be done, and things like Data Environments and ADO are too abstract. They don't allow the flexibility that I feel should be offered. And yes, I did end up using "straight SQL" instead..

  24. Death to Code Generation by dubl-u · · Score: 5, Insightful

    I often end up reviewing or working on code from other people, and I couldn't agree more about his dislike of generated code.

    Note that there are two sorts: the kind you never edit and the kind you have to edit. I love compilers, as they generate machine code so well that you never should have to look at it. But programs that generate source code or, even worse, documentation, are things I revile. They let an amateur get quick results, but at a drastic reduction in long-term maintainability. As Martin Fowler says, "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."

    1. Re:Death to Code Generation by rainman_bc · · Score: 1

      I couldn't agree more about his dislike of generated code.

      Ruby on Rails is taking the OSS world by storm right now, and from what I can see it's all about "generated code".

      I've played around with it some, and while cool, it's a framework, with some similarities to others out there, including dotNet.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    2. Re:Death to Code Generation by 16K+Ram+Pack · · Score: 1

      There's definitely something to be said for getting started with a text editor first, really understanding from the ground up what you need to do. This means that you manually create stuff and learn what it's all for as you go. Later, use things like vs.net to just make your life easier, but at least you'll understand what it's doing. Also, the less help you get, the firmer your knowledge gets. You find that you get stuff better embedded, which means that your coding flows better.

    3. Re:Death to Code Generation by dubl-u · · Score: 1

      Ruby on Rails is taking the OSS world by storm right now, and from what I can see it's all about "generated code".

      Really? I haven't used it yet, but from what I've read I thought that it got its mojo through smart default behavior and careful introspection, not by generating reams of code for you to edit.

      By reducing the total amount of hand-written code, you increase the expressiveness of the code that people do write. Since the biggest problem with code generation is a decrease in expressiveness, it would seem like RoR is headed in just the opposite direction.

    4. Re:Death to Code Generation by rainman_bc · · Score: 1

      Really? I haven't used it yet, but from what I've read I thought that it got its mojo through smart default behavior and careful introspection, not by generating reams of code for you to edit.


      I thought so too, but the idea of scaffolds would proove both of us wrong :)

      I'm a huge fan of it so far - I've always like Ruby, but it's a framework that generates code for you.

      btw, I can't stand creating a form by hand - it's such a pain in the ass. I've played with perl-gtk and ruby-gtk and they both annoy me... Give me a drag and drop editor any day for form development!

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    5. Re:Death to Code Generation by swimmar132 · · Score: 1

      Ruby on Rails is not "all about generated code". Not in the least.

      If you have only followed a tutorial where they had you generate some starter code, then yeah, I can maybe see how you would think that.

      You don't have to use scaffolds though -- they're only there if you want them. Sometimes I use them and sometimes I don't.

    6. Re:Death to Code Generation by Anonymous Coward · · Score: 0

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."

      Even better programmer can write code that writes code that humans can understand!

      I have been working on (within) a system of tools that generate *complete* applications for me from abstract descriptions
      of the business relationships between various data elements for several years. The point of generated code is to *not* touch it. If you
      need another capablity once, you will likely find need for it in other places later on. It then makes sense to implement that
      capability in your code generator, thouroughly unit test the generated code and then have that capability for all
      time in all places. I generate millions of lines of code for several different major systems in several different languages and
      simply do not touch the generated code. As an aside back more to the main topic, learn the principles of software development, build yourself
      a good tool chest and the individual languages that you need to work in become a moot point.

    7. Re:Death to Code Generation by rainman_bc · · Score: 1

      No, it's a framework - I understand. So is DotNET... It just has a really, really nice IDE IMO...

      There's a lot of stuff there that's similar. RoR uses yml files for config, DotNET uses web.config/app.config...

      Just saying there's some similarities there. I use both worlds.

      Quite frankly, I think coding gtk forms by hand sucks ass. I've done it in Ruby/gtk and Perl/gtk and can't stand doing it in either. For form design, give me a drag and drop UI any day. I can do both, I prefer the IDE to do it for me. And there's an open source gui for creating gtk apps, it just sux.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    8. Re:Death to Code Generation by AaronW · · Score: 1

      There is nothing necessarily wrong with generated code. There are numerous instances where a simple text file describing something can generate a horrendous amount of code. A human generating this code is prone to errors. There are many places where a code generator can be a life saver, but the idea is that you should never have to edit the generated code. Examples of this are Lex, Yacc and XDR, though where I work we also use some SNMP MIB compilers that generate C code from tables describing it as well as a number of in-house tools.

      In the case of Lex/Yacc, one should never edit the output file. If you need to change or fix something, fix the input files and regenerate the output.

      Also, I have found autogenerated documentation can be quite good. The QT documentation is a good example of this. This makes it much easier to keep the documentation up to date with the code, but it also requires you to format your comments so the documentation can be generated.

      That's not to say that code generation can also be bad. I've seen GUI generators that spit out code and once it is output you are basically forced to edit the output code. The output code can be hard to understand and once output, you can't regenerate it again.

      -Aaron

      --
      This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
    9. Re:Death to Code Generation by dubl-u · · Score: 1

      the idea is that you should never have to edit the generated code.

      Yes. We agree completely. I would more call that a compiler than a code generator, but we agree on the essence.

      Also, I have found autogenerated documentation can be quite good.

      Sorry, I wasn't clear. I'm a big fan of Javadoc, POD, and the like. But that's handwritten documenation that a tool transforms. The only difference is that the doc source isin the program source. I was referring to tools that purport generate the documenation for you. Many Java IDEs (like Eclipse) do this, generating Javadoc stubs with auto-inferred information.

      Tools like that are worse than useless. The programmers who wouldn't have written docs anyhow leave them there to clutter the code and get out of date.

    10. Re:Death to Code Generation by CaptnMArk · · Score: 1

      Also, in Visual Studio (broken) build/development process, the generated code is part of "edit"ing, not part of building which IMO is conceptually wrong.

      It leads to problems like needing to check in the generated files which is a no-no.

  25. Eclipse handles some things MUCH better by martone66 · · Score: 1

    Coming from a Java/Eclipse background, there are some things about Visual Studio that really annoy me.

    1. Go To Definition works about 75% of the time in VS, but it seems to need to do a lot of searching in order to find where a class or interface is declared. In Eclipse, I can control-click on a class, method, or variable, and 100% of the time it will quickly jump to its definition.

    2. Go To Reference is worthless and just does not work in VS. Contrast this with Eclipse, which will not only find all references of a given class, method, variable, etc, but can give me a call hierarchy to let me jump back in the call stack to find out how low-level methods are called.

    3. I miss Eclipse's Open Type, where I can start typing the first few letters of a class and have it list matching classes in the project.

    It's not all bad, I do like some things about VS and C#. I do like C# properties. I like the Command Window in the debugger, and I like being able to right click a statement and set another line as the next statement while debugging. The point-and-clickyness of the form designer is nice.

    However, it seems like I do a lot more plain old text searching in VS (for classes, methods, etc.) than I ever did in Eclipse. I feel that Eclipse lets me code at a higher level of abstraction than VS does.

  26. stfu, this article is flamebait by Anonymous Coward · · Score: 1, Informative

    I'm the lead dev on an ASP.NET project consisting of 500 pages, dozens of web services, and several rich client apps. In all of that there has been zero dragging and dropping.

    This article is crap and comments thus far are even worse. MS gets stuff wrong, but VS is not one of them.

    1. Re:stfu, this article is flamebait by jcr · · Score: 1

      I'm the lead dev on an ASP.NET project

      Sucks to be you, dude...

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    2. Re:stfu, this article is flamebait by shutdown+-p+now · · Score: 1
      I'm the lead dev on an ASP.NET project consisting of 500 pages, dozens of web services, and several rich client apps. In all of that there has been zero dragging and dropping.
      On one hand, I am really glad that there are people like you out there who know how to do those things right. Still... don't you agree that VS.Net strongly pushes the developer towards drag&drop approach? Remember, when you create a new ASP.NET webapp, the first thing you see is... right, a GUI page designer. Which implies that the first thing they assume you will be doing is draw up the design by dragging & dropping controls from the toolbox, and then double-click on the controls to write the handlers - exactly the brain-damaged approach the author of TFA is arguing against.
    3. Re:stfu, this article is flamebait by Anonymous Coward · · Score: 0

      The drag and drop sucks, no doubt. The "designer" mode for .aspx pages blows.

      Still, the IDE is nice.

    4. Re:stfu, this article is flamebait by shutdown+-p+now · · Score: 1

      It is. It just shouldn't be given to unprepared developers, because the designer mode will rot their virgin brains, per TFA.

  27. What about Eclipse? by Anonymous Coward · · Score: 5, Informative

    Eclipse has even more nice/brain-rotting features than Visual Studio, mostly because Java is a much easier language for an IDE to understand than C++ because there is no preprocessor. In fact Eclipse makes Visual Studio look like not much more than Notepad with a GUI builder. It even detects compile errors and warnings as you type. So it totally encourages that bottom-up programming style. Is it also evil? Developing Java in Eclipse is so much faster than developing it by hand, and Eclipse provides tools to "clean up" what you did by refactoring, tools to automatically generate stubs for those undefined classes/methods that you're calling to get rid of those nasty red underlines representing compile errors, etc. I would say it's just much easier to make an IDE smart if it knows what you're doing, i.e. you declare stuff before using it.

    1. Re:What about Eclipse? by D3m3rz3l · · Score: 2, Informative

      Actually, if you use Visual Studio for writing C#, it provides similar features (points out compiler errors/warnings while you type, generates stubs for interfaces etc etc). So the issue is not with Visual Studio, it's with the language. So I don't think it's fair to say that Eclipse makes Visual Studio look like Notepad. How is Eclipse with a C++ compiler on the backend? I've never used it so I don't know.

    2. Re:What about Eclipse? by cnettel · · Score: 1, Informative

      Most of what you mention as unique to Eclipse is actually present in the non-C++ language plugins into Visual Studio (C#, VB.NET, J# alias Java for .NET to a limited degree). I think they weren't even in Eclipse when VS.NET 2002 was first released. Of course, it's better in 2005, but even back in the 2002 release you could get a couple of the things you mention, and I think all of them are present in VS.NET 2005. The actual performance of refactoring in different cases and so on may of course vary, but I think it would be hard to point out a complete "region" of smart-editor goodness missing :-)

    3. Re:What about Eclipse? by The+OPTiCIAN · · Score: 1

      I'm finding eclipse is really nice for bootstrapping a project. You lay out your structure, get it compiling with a build file, refactor a few times and get all the changed versions into CVS with minimal problems. Then when you decide you're going to stay content with what you've got - lock down. Then I move back to the command-line and vim and ramp up the pace.

      --


      Believe with me, my saplings.
    4. Re:What about Eclipse? by Anonymous Coward · · Score: 0
      mostly because Java is a much easier language for an IDE to understand than C++ because there is no preprocessor.

      Trust me, the preprocessor is the least of the problems. C++ is just a major bitch to parse.
      foo(bar);
      Does this:
      • call the function foo()
      • call the function foo.operator()
      • create a temporary foo object
      • declare the function foo, using deprecated implicit int return type
      • declare the variable bar of type foo
      • invoke the macro foo
      and I'm sure I've missed at least one. Then there's the question of how many namespaces and templates you need to check to determine what it does...

      Of course all these wrinkles in the parsing make the language much more pleasant to code in, at least for me.
    5. Re:What about Eclipse? by H0p313ss · · Score: 1

      Then I move back to the command-line and vim and ramp up the pace.

      Of course... because everyone knows that the edit/compile cycle will speed you up and you've got the whole class library memorized... that will speed you up no end.

      If I ever catch any of my developers editing Java in vim or notepad it will probably be the last day they work for me. (More likely because I'll be rushed to hospital because of heart failure...)

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
    6. Re:What about Eclipse? by LLuthor · · Score: 1

      C++ has no implicit int return type, but the rest are all possibilities.

      Your point still stands.

      --
      LL
    7. Re:What about Eclipse? by ggeens · · Score: 2, Informative

      When I read the article, I was constantly thinking: "hey, Eclipse does that as well." And then, when the author expains why it's bad in VS, I realized Eclipse does it different, avoiding the problem he has with it.

      --
      WWTTD?
    8. Re:What about Eclipse? by dDrum · · Score: 1

      After using eclipse for three years my current favorite features are:

      -Ctrl+shift+T and start typing the name of the class - Allows to open a class using regular expressions without needing to search the packages of the project and without using the mouse.
      -Ctrl+shift+R - The same thing but for all the other files in the project (think property files)
      -Mark occurrences - When you put the cursor in a variable, type, it highlights all the uses in the current file. If you click in the return type of the method it highlights where the method can return (explicit return, exception, etc). If you click in a throws clause in highlights the methods that can throw that exception. Great stuff when you want to know the impact of a change.

      After trying lots of IDE's eclipse was the only one that make me give up on emacs for java programming

      Does visual studio has something similiar?

    9. Re:What about Eclipse? by Trogre · · Score: 1

      Eclipse is a rather nice IDE. It's just a shame that you can't (yet) use it for anything other than Java.

      Show me a working Eclipse-like environment for C or PHP then I'll be impressed.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    10. Re:What about Eclipse? by The+OPTiCIAN · · Score: 1

      While I don't like to appear ignorant... I completely missed the point you're making here and would apprecaite if you could spell it out. Are you indicating that you don't like the approach to coding where you knock up some code, and then run it through javac until it doesn't break, and then move on to the next problem?

      This thing of 'having the whole class library memorized' doesn't really apply to me so heavily. I program web appplications with decoupled views and business logic engines. The ability to browse complex object trees is a benefit of IDEs like eclipse and idea, but I don't like deep object structures, have never seen a project that does a notably good job of them. My projects have complex business logic, but I tend to use callbacks rather than deep object structures. Ugly to read (in java) but still better to having XML and hoardes of classes spewed all over the place.

      > If I ever catch any of my developers editing Java in vim or notepad it will probably
      > be the last day they work for me.
      At the moment I'm not bothered by this in particular though, because I wouldn't work for somebody who was so arrogant as to tell me not to use unix tools based on the amount of information you've supplied so far. Maybe I'll change my reaction based on your further response.

      The reasons I like vim/command-line are
      - I'm far faster in vim
      - Once my windows are open I don't need to use the mouse
      - I can develop on my workstation at work from home and it's no different to being at work
      - When I move to my Mac laptop the tools don't change (eclipse for mac is still quite klunky and I don't like to use it whereas I do like eclipse for Windows)
      - I find the method you use to check files in to cvs is more specific and lends itself to specific checkins, rather than 'check in all my changes'
      - Once the project structure is determined, I don't changes to the structure. It's nice to have eclipse there for 'events' where that will happen, but I don't want other people on my project going and refactoring the structure as a matter of course.
      - If you know how to use the unix find command you can do lookups quickly. I imagine people say similar things about ctags but have not had the patience to get that working well for me.

      --


      Believe with me, my saplings.
  28. Re:oh... my... god... by kerohazel · · Score: 2, Insightful

    Apparently parent can't get enough of this crap.

    --
    Skype is too convoluted... Now I'm reverse-engineering the Kyoto Protocol.
  29. Apples and Oranges by mustafap · · Score: 5, Insightful

    You seem to be comparing 'Playing with Visual Studio' against 'Taking programming classes'.

    Visual Studio is not a teaching aid. It's (just about) a programming toolkit with some bolted on frameworks. You will create rubbish if you do not know what you are doing. Try thowing eclipse at him, he would have the same problem.

    Having said that, I hate having to program with Visual Studio. It's like a great big book of usefull spells, but they are written in invisble ink :o)

    --
    Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    1. Re:Apples and Oranges by jigjigga · · Score: 1

      I am a student studying computer science and I have come into this discussion many times. My professors keep pushing us to use notepad-esque utilities to write our code, and use the command line in linux to compile and execute (well, we use makefiles but you know what I mean). This takes up a ton of time because the editors are inefficient, they do not show errors in real time, and to compile I must tab out and run the make... So instead I write my stuff in my room on a real IDE like devcpp/eclipse/intellij idea and get things working there. It is indefinately easier there, for it simplifies and removes tedious tasks from my workload. I can cut hours off programming projects on these ide's because: 1. I understand the concepts and can apply them 2. I program in multiple languages, ergo commands work differently and are named differently 3. I can hit f5 to compile and it will tell me immediatly what is going wrong. I understand why they wish for us to use command lines, use low level editors, but having grown up on windows/a gui based OS that exists to simplify tedious tasks, it makes more sense to me to do it like that. Anybody have similiar or disimiliar experiences?

    2. Re:Apples and Oranges by Eideewt · · Score: 1

      I've had a sort of dissimilar experience. I'm not quite sure what you mean by "notepad-esque", but I think I share the sentiment. I'd never try to hack in Notepad or a Notepad clone, since I'd have to slit my wrists before I made any progress. On the other hand, I hate trying to work with some massive IDE. First, the built in text editors seem an awful lot like Notepad. When I write code, I like to have a text editor, not some weird program that tries to make coding "easier". I'm an Emacs and Vim kind of guy. With an IDE I feel like it's doing all this stuff and making things complicated, when all I'm doing is typing some code and issuing a "make" command. A bunch of dialog boxes just slow me down.

    3. Re:Apples and Oranges by Eideewt · · Score: 1

      ...having grown up on windows/a gui based OS that exists to simplify tedious tasks, it makes more sense to me to do it like that.

      This caught my eye after I had posted. I've found the opposite to be true. A GUI tends to make simple tasks tedious for me, rather than the other way around. With a GUI I have to do all this File>Open>browsebrowsebrowse>Ok mousing stuff to open the file I want, but in my console I just type "emacs ~/code/foo.c &" or somesuch. It's faster for me.

    4. Re:Apples and Oranges by JudicatorX · · Score: 1

      :make

      --
      "It is a good divine that follows his own instructions" - Portia, The Merchant of Venice
    5. Re:Apples and Oranges by Superfarstucker · · Score: 1

      I'm learning to code as well and the direction our instructors have taken is very elementary although I have a distaste for the fact we are using java instead of an older programming language like c. All we do is learn basic techniques like recursion and study elementary algorithms like binary search. I feel the pace of the class is quite slow unfortunately because many people aren't able to grasp syntax/notation very well (for example, we've been at it for 2 quarters and people still wonder what the difference between --n and n-- are). That being said, I'm not a cs major so the department locks me out of all the more interesting courses. What is interesting though is you have these people in the class which are 'self-learned' and they use complex ide's like eclipse because it's better. I use a very simple text editor with syntax recognition and that is it. People insist that they have tangible advantages in using something like eclipse for writing programs that have less than 200 lines of code on average. It's like buying a big calculator and thinking you 'know' how to do integration when you're just plugging a set of symbols. Or better yet, learning how to 'integrate' a function using the algorithms and never really understanding what it means. Such tools ultimately undermine those who partake in their poison.

    6. Re:Apples and Oranges by BitwizeGHC · · Score: 1

      Try putting him in front of a Linux machine with Emacs and the GNU toolchain. That's a teaching aid... in the same way that "learning to swim the Stennis way" is. A lot of hackers learned in precisely this fashion, however.

      --
      N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
    7. Re:Apples and Oranges by ToasterofDOOM · · Score: 1

      Blaspheme! Dare you soil the name of vim! Even emacs deserves better than this you unbelieving pagan. Go back to the abyss from whence you came, spawn of evil!

      On a more serious note, I liked IDEs much more than simply editors until I used a serious editor. I started with emacs but soon gravitated to vim, the choice is unimportant however. A properly configured vim or emacs can be 10x as productive as anything a traditional IDE can offer, much parallel to the comparisons between the command line and the GUI.

      --
      I am Spartacus
    8. Re:Apples and Oranges by ToasterofDOOM · · Score: 1

      It can be both ways. For most people, a command line is either too much power or too confusing, and a GUI is all they need. They dont care about wget or [insert ftp client here], they want to click a link then click save. Moving files? Renaming them? Listing a directory's contents? WTF is a directory? On the other hand, most slashdotters are more advanced users who can handle having everything at their fingertips and are more productive that way as a result.

      --
      I am Spartacus
    9. Re:Apples and Oranges by Duhavid · · Score: 1

      One thing about that.....

      If you do the standard text editor and make route, you will understand sufficient to make an IDE work for you.

      If you do the IDE route, then you are dumped into a situation requiring a command line and text editor and make, you
      will flounder for quite a while.

      Kinda the same reason my kids are not allowed to use calculators in their math classes....

      --
      emt 377 emt 4
    10. Re:Apples and Oranges by jigjigga · · Score: 1

      Ya, I think the preference comes from a life of using one type over the others. ALL of my professors, and some of the older students, prefer command line because that is what they grew up with. The youngers are far more adept at doing what needs to be done with a gui.

    11. Re:Apples and Oranges by Skreems · · Score: 1

      I agree with this completely. So many Windows users decided long ago that command lines are useless for anything, but this is just because the Windows Command Shell sucks. KDE/Gnome have the same functionality in their graphical shells as windows, if not moreso (KDE got spring-loaded folders, hell yeah!), yet I rarely find myself opening them. It's much easier to just do whatever you need in the command line, provided you're used to it.

      And responding to the grandparent, I learned my first programming in RealBasic (Mac approximation of Real Basic) and on Hypertext before that. RealBasic had command completion, but when I got to college I did my C++ with Pico and the command line, and once you learn a few simple tricks it's just as easy as visual studio. To this day, I'm indifferent about using a "development environment". Give me Kate for multiple open files and syntax highlighting, and I'm just as productive as with Visual Studio. I agree with the article in that doing it without autocomplete can force you to have a better mental grasp of what you're coding. You have to hold more in your head about what your system does and what other systems it calls, so it's more of a direct brain-dump than a "what functions can I call at this point" sort of thing.

      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    12. Re:Apples and Oranges by Eideewt · · Score: 1

      I find that a GUI is easier for some tasks. If I've got a link in front of me it's easier to click and save than it is to find out the address and put it into a command line. On the other hand, when I'm working with my files on my computer (as I am when coding), I do better at the command line since I know the environment intimately. I can just say what I want to do.

    13. Re:Apples and Oranges by Carnil · · Score: 1

      Having said that, I hate having to program with Visual Studio. It's like a great big book of usefull spells, but they are written in invisble ink :o)
      Well, I guess that's what the wizards are for...

    14. Re:Apples and Oranges by Anonymous Coward · · Score: 1, Funny

      I'm an Emacs and Vim kind of guy

      Emacs AND Vim? Isn't that like mixing matter and anti-matter?

    15. Re:Apples and Oranges by arkanes · · Score: 1
      You're confusing "knows how the make utilty works" with "knows how to program". And, of course, just cause you know make doesn't mean you know automake. And just because you know automake doesn't mean you know autoconf. And just because you know any of those, doesn't mean that you don't know any of the dozens of tools invented because all those tools suck. I don't understand why people bitch about VS being obfuscated or "hiding" stuff from you when they use a build system made up of at least 2 and sometimes as many as 6 layers of indirection and abstraction, with *every single* layer using a different toolchain and a different language set.

      In any case, knowing make is not the same as knowing fractions - it's not a fundamental building block on which to extend knowledge. It's a single (albeit widespread and popular) tool.

    16. Re:Apples and Oranges by Duhavid · · Score: 1

      No, I didnt confuse "knows how make works" with "knows how to program".

      My point was that if you have two programmers each with the same
      "knows how to program" indexes, the one the knows the command line/
      text editor/make ( or automake, or autoconf ) will be effective in
      an IDE environment faster than the one who knows only the IDE would
      be in a command line/text editor/( build tool de jure ) environment.

      On your "VS hiding things versus other build systems with '...at least 2 and
      sometimes as many as 6 layers of indirection...'" I do not understand
      your point.

      And last, I was not trying to claim that make was the same as knowing
      fractions, nor that it was some fundamental building block in and of
      itself. Just that the experience of knowing how the toolchain works
      is valuable, and I think that beginners should be exposed to it early
      on. That is not to say that IDE's suck or anything. Just like calculators
      dont suck ( they were invaluable in many of my higer math classes ), but
      my kids math teachers dont let them in most of their gradeschool homework.

      --
      emt 377 emt 4
    17. Re:Apples and Oranges by arkanes · · Score: 1
      My point was that if you have two programmers each with the same "knows how to program" indexes, the one the knows the command line/ text editor/make ( or automake, or autoconf ) will be effective in an IDE environment faster than the one who knows only the IDE would be in a command line/text editor/( build tool de jure ) environment.

      Thats true, to a degree (many command line programmers have a huge amount of trouble figuring out how to tell Visual Studio what to do), but the article, and many of the posts about, are drawing a value judgment from that - that if you only know VS, you're a worse programmer than if you know the 4 different languages and environments you need to use GNU autotools correctly. Another person might ask why you spent a good portion of your "programming" learning time figuring out how to use tools only tangentally related to programming, and why you think it's a sign of superiority that you use autotools in all it's horrible glory instead of a single tool. Now, there is no reason at all for many programmers to use autotools - they develop with and on Visual Studio. They learned that tool. It has no bearing whatsoever on programming per se, and even less on computer science in general. I do not believe that learning m4 will grant you any insights into concepts that generalize to your general experience as a programmer.

      All that is not to say that knowing autotools isn't valuable, simply because it's so common. Of course, it's equally important to understand how to work Visual Studio, because Windows is more common and the huge majority of Windows development uses VS. The idea that using VS makes you "less" of a programmer, or even that not knowing or using any specific build tool makes you stupider or more "brain rotted" than someone who does is the classical kind of masochistic technical arrogance that should not be tolerated.

    18. Re:Apples and Oranges by mdielmann · · Score: 1

      It's like a great big book of usefull spells, but they are written in invisble ink

      Clearly, you've never expanded the VS-created code elements, or opened the source files in a text editor (which VS isn't). At least that solves half of the questions you might have. The trick with using something like VS is realizing what a fair portion of its automated processes do for you. This is not unlike using libraries, especially those which are closed-source. The big problem I have with VS is when expected behaviour doesn't occur. This happens at least once per day, and I don't doubt is due to the complexity they add for the "intelligent" behaviour. It's only slightly better than not having it at all, and having to do everything it does for you.

      --
      Sure I'm paranoid, but am I paranoid enough?
    19. Re:Apples and Oranges by Duhavid · · Score: 1

      I think you may be reading more into my statements than is there...

      I understand that there are those how are making value judgement about
      someones worth as a programmer based on knowing particular tools. That
      was not what I believe I said, and it certainly was not what I intended
      to come across with.

      I use VS on a daily basis, it removes a lot of drudge work, and this is a
      very good thing, as you relate, as there is focus on the job at hand and
      not on the prerequisites for the job at hand, improving productivity.

      I did not say that the command line/ et al route made you a better programmer,
      nor that the IDE made you stupider or more brain rotted. I understand
      that there are those who have, I am not amoung them. I did say that coming
      from an IDE background, you will have a harder ( not impossible, just some additional
      learning curve ( and note, I dont disagree that there is some learning curve
      associated with transitioning form the command line/ et al way of doing things
      to the IDE way, I have been there and done that.. ) ) time.

      --
      emt 377 emt 4
    20. Re:Apples and Oranges by ClosedSource · · Score: 1

      I think if you talk to programmers who are older than your professors you might be surprised to find how much support there is for GUIs.

      This is because they were around in an era when Unix was just one of many CLI based OS's and they may have had to change which one they used quite often. This was particularly true in embedded system development because most of it was performed on development systems that were sold by the chip maker. Each of these systems had their own CLI and there was no long term value in memorizing a lot of commands since you might never use them again.

      So the GUIs were welcomed since you could easily browse through a menu rather than trying to remember an obscure command (Unix of course having the most obscure commands of all).

  30. Re:yes, it does rot your brain, or at least habits by Pulse_Instance · · Score: 1

    It seems like your problem is that you gave him a tool and he found something fun to do. Visual Studio can be used to do many things not just make GUI Apps, I haven't made a GUI app with Visual Studio in a long time. The reason I use Visual Studio is to keep all of my files organized with a project and all of my projects organized within a solution, I also use it to compile my code.

  31. So you want to program in vi? by RingDev · · Score: 1

    VS.Net makes developing simple applications very easy. It also makes programming very complexe applications relatively easy. True, your average entry level programmer is not going to be getting into threading, memory management, abstraction, multitier design fundamentals and design patterns. But they are there and amazingly easy to use in .Net. I would say that Microsoft's development tools are one of the primary reasons why we have seen equally impressive if not better languages drop of the face of the planet (Power Builder vs VB5). I've been out of the Java loop for almost 2 years ago, but last time I worked with it your choices in IDEs were basicly, crap, and crappier. Either you delt with bloated interfaces that sucked resources, or you worked in a text editor by hand. At that same point in time VS.Net 2k3 was available with an amazing amount of developer assistance tools. And now with VS.Net 2k5 coming out, there are so many great tools to save us even more time! With the exception of default instantiations, VS.Net 2k5 is looking like the best IDE released to date.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:So you want to program in vi? by owlstead · · Score: 1

      "I've been out of the Java loop for almost 2 years ago, but last time I worked with it your choices in IDEs were basicly, crap, and crappier."

      Yes. And then there was Eclipse. Lovely to code in, even if you are basically just wanting to use a text editor. Free, fast, lots of free and commercial plugins, SWT (*not* swing), great UI etc. etc. Try it out, if only to see what you can do with the AST. Microsoft only introduced a (still very very weak) type of refactoring support in 2005 beta. Well, not even _close_ guys.

      It's not that geared to visual editing yet, but that is getting in gear as well, with the AST doing it's best again (automatic updates between any code (including generated code) and the IDE. And Microsoft VS 2005? "Code fragments", making it harder, not easier to do the same thing. Yuk.

      Anyway, I don't care too much if my IDE is sucks up memory and resources. I've got no problem fitting 1 GB of memory and a fast HDD in my P4 at work. I am not the end user - only final testing takes place on slower machines if I think the difference in computer speed is significant. As long as the response times are ok (and yes, bloated interfaces are a problem as well).

  32. Re:Does it? Not sure. But from experience I can sa by rackhamh · · Score: 4, Funny

    Why, in case the martians attack and take out all our strategic IDE reserves?

  33. Re:yes, it does rot your brain, or at least habits by x0n · · Score: 4, Insightful

    "Visual Studio and Microsoft tools force you to adopt programming techniques designed around implementation speed, not understanding or quality"

    Force? noone's forcing me to use the RAD tools; I use VS primarily as an editor with intellisense and solution/project file management; no more, nor less. FUD.

    - Oisin

    --

    PGP KeyId: 0x08D63965
  34. Human resources and time matter too by quintessentialk · · Score: 1

    Caveat: I did not RTFA. Implementation speed and efficiency is part of total speed and efficiency too. In my case, I'm a graduate student in physics, not computer science. Though I personal don't use visual [x] products, my problem solving approach is frequently "quickest and easiest path to a working solution." Often there are more efficient ways, but I know that when I factor in the time I would need to spend studying and experimenting, it turns out to be a quicker solution over all to take an easier route.

    1. Re:Human resources and time matter too by Anonymous Coward · · Score: 0

      Caveat: I did not RYFC. In my case, I'm an Anonymous Coward spouting my opinion hoping for mod points while not bothering to waste the effort in actually being informed so I know the opinion I am providing has any real merit at all.

  35. Feh. by Black+Parrot · · Score: 1, Interesting

    I'll take a text editer and CLI over an IDE anytime.

    Ok, not anytime. The IDE search & jump facilities are extremely useful when you first sit down to work on a code base that you aren't familiar with. But for my own code, or for others' code that I've worked with long enough to understand reasonably well, I find IDEs a nuisance.

    --
    Sheesh, evil *and* a jerk. -- Jade
  36. Re:oh... my... god... by P3NIS_CLEAVER · · Score: 1

    It would of been a more worthwhile article if he had compared these problems with other IDEs such as borlands or eclipse. Maybe 'IDEs rot the brain'?

    That being said, I have written .NET console applications with textpad and BAT files. What does c have to do with it?

    --
    Please sign petition to restore sanity to our banking system!!!

    http://financialpetition.org/
  37. Forced? by JesseT · · Score: 2, Insightful

    As a long time user of both MSFT's Visual Studio IDEs, Eclipse, and *nix style (autoconf/automake/emacs/etc.) development and build environments, I have to attest that this article is somewhat misleading. Visual Studio doesn't force you to use drag-and-drop anymore than say Eclipse's Visual Editor plugin. Sure, the marketing people at MSFT spend all of their time talking about how VS let's you do drag-drop-n'-click programming, but that doesn't mean the actual product does solely that alone. You can write everything by hand if you so choose.

    I think we've seen this argument before, but in other forms. How many times have I seen hard-core C and/or C++ programmers state that "automatic garbage collection rots the mind?" Sure, you might not need to keep track of all of those allocations anymore with GC, but you still need to understand how a given garbage collector works in order to write efficient code for that garbage collector. Same goes with Visual Studio and managed applications: you need to understand the underlying system (in this case the .NET CLR and class library framework) to get the most out of it.

    Professional developers worth their salt understand this.

  38. Understanding is Implementation Speed by shapr · · Score: 1

    How can you implement something that you don't understand?
    How can you fix something that you don't understand?
    Once you've optimized the inner loop, the only way to improve your code is to change your abstractions, or change your implementation completely. That requires that you understand what you're doing. The more you understand it, the better your program can be.
    I'd suggest test driven development, it interleaves design and implementation. Because, you can't implement something that you don't understand, and understanding often comes just after you wrote the code that requires or is required by the code you are about to write.

    --

    Shae Erisson - ScannedInAvian.com
  39. Re:Shut up DINOSAUR by Anonymous Coward · · Score: 0

    C/C++ is the most used language in the world for a reason. Go learn something about it before knocking it. Java is a slow, time consuming, BOX of a language. You can only go as far as Sun wants you to.

    Go read the "Art of computer programming" series, learn something about C and C++ on platforms such as linux and windows. Then come back to java and see how limited it really is.

    Open your eyes you lazy mother f*cker

  40. Re:Shut up DINOSAUR by georgewilliamherbert · · Score: 4, Insightful
    Geez...

    If the first tool you introduce someone too teaches people, particularly bright kids, not to think about...

    • What tools are best for the job...
    • Why different tools are best for the job...
    • What the nuts and bolts behind pretty drag and drop interfaces are...
    • Why you want nuts and bolts behind the pretty interfaces...

    ...then that tool is a horrible teaching tool. Period. Programming is not about pretty interfaces, as the original comment notes. That's part of producing functional modern programs, but if you mistake doing that for actually programming, and your tools teach you to make that mistake, you're in trouble.

  41. Re:yes, it does rot your brain, or at least habits by 2short · · Score: 2, Informative

    If it matters in the least whether a non-OS programming class uses Windows or Linux, it's a lousy class.

  42. thank you for agreeing! by Mark19960 · · Score: 1

    I *HATE* visual studio. I find myself doing it in notepad instead!

    Now, in other IDEs, like Kdeveop, you dont get all that wiz-bang stuff, you need to actually KNOW what your writing.
    Not to mention, the interface sucks in visual studio (IMO)

    Sure....... you can put together some little window that does neat little things
    but pointing and clicking, but do you know what its actually DOING?
    How does it draw that button, or that textedit in there?

    If you dragged it onto the screen and set a few things here and there, who is doing the work?

    1. Re:thank you for agreeing! by JesseT · · Score: 1

      If you want to know what is going on behind the scenes, nothing is stopping you from viewing the code behind a control or a form in the visual form designer. You can work both ways... drag-and-drop a control onto the form designer and view/augment the generated code, or write the code from scratch by hand, and then view/modify that code from the form designer. If you want to understand how the classes that you inherit from work, you RTFM for the product, in this case, the MSDN Library.

      The IDE is a tool, and as a tool, you need to know how to use it properly, otherwise you'll find yourself being used by the tool. The argument boils essentially down to user laziness.

    2. Re:thank you for agreeing! by Wudbaer · · Score: 1

      If you just once bother to use "View code" you can have a look at and change any painstaking detail that makes your nice little window tick. If you can't be bothered to do even that or even didn't find out up to now that it's possible to do so it would be better if you turned in your programmer's card. But don't blame VS on your lack of interest and curiosity.

      I'm sorry if this comes over a little bit harsh, but what really gets me going is people who don't have the slightest problems performing the most difficult tasks for all aspects of *ix but act as if indeed their brain had rotted away once they happen to encounter a windows machine.

  43. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    His reaction so far to having to actually write and understand code is that it is stupid.

    Less competition for me.

    If you want him to learn the correct way to program, show him the DFT. Then, run that DFT on a sequence of 1024 samples. After that, show him the FFT. Finish up with one of djb's beautiful, hand optimized assembler FFTs. If he doesn't get it, then he just won't get it: not everybody is meant to be a great coder.

    If he does get it, then start him on some cryptography code, but more importantly is for him to notice that neither of these utterly important topics is programming. They're both math more than computer science, and computer science before mere programming.

    This isn't meant as an insult on the son. Coding really isn't for everybody, and it's not at all an indicator of intelligence. I've seen drooling morons who could produce terrific code, and some of the ugliest code around spills out of the brains of genius cryptographers; however, if you want to cultivate him into being a coder, show him Lisp.

  44. The problem is always the programmer by b4k3d+b34nz · · Score: 2, Insightful

    The problem here doesn't have so much to do with VS as it does the mentality of any given programmer. VS provides you with a WYSIWYG interface which does most of the connecting of elements, events and properties for you, without ever touching the code. THAT'S A GOOD THING. If the user doesn't have any experience with programming, they'll probably stop there and will have what amounts to a bunch of disorganized components in a form. When it comes to IDE's, the program can only be as good as the programmer. Sure, it'll provide necessary hints and make code/program/solution development quicker or better, but unless the programmer knows what's happening, they're going to create some BS program.

    Most would laugh at someone who tried to create a decent web page in FrontPage and it looks like a turd. Why? Because most people who use FrontPage usually don't touch the markup and can only get to a certain level. Once again, the output is only as good as the programmer (or developer, whatever). If the web developer knows good practices like using CSS, external files and correct markup, the website will probably look good or better. The same goes for programmers and VS--if the programmer doesn't know the difference between a function and their mom, they'll only go so far (and they probably have other issues too).

    Don't blame someone's bad coding job on the IDE. It can't force you to adopt shoddy programming practices unless you didn't know any in the first place.

    --
    Grammar Lesson: you're is a contraction of "you are"; your means you possess something; yore means days gone by.
    1. Re:The problem is always the programmer by protohiro1 · · Score: 1

      That said, Microsoft's web development tools seriously suck. I am a web designer and I have been known to write small php/asp scripts where it makes sense. I find visual studio useful for the editor, but I can do without the WYSIWYG tools for creating web forms, etc. They suffer from front page "lets fuck everything up" disease. Stop adding tags! Don't add an there! Do what I tell you! I tend to mix and match visual studio, php designer and dreamweaver. None of them are the perfect solution for web development.

      --
      Sig removed because it was obnoxious
  45. So true by TiggertheMad · · Score: 1

    I have been coding for years, and the latest VS offerings are crap. VS6 was pretty nice, as you could at least igonre the MFC auto generated code and just write whatever you wanted to.

    More recent versions of VS are just awful. They try to 'help' you so much, it just gets in the way. Compund that with the way that MS products intrgrate with each other, and you have a nightmare of a program. And yeah, too much stuff is hidden behind pretty drag and drop component menus.

    I think the reason that MS is so interested in search engines lately is not due to a desire to compete with google, but just to have a search engine that can find a useful article in MSDN when you need it.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re:So true by NeuralClone · · Score: 1

      You can still ignore MFC auto generated code. It's called "Create empty project." To compile programs in VS you need a project file so you have to go through that wizard anyway. Instead of choosing "Windows Form" choose "Win32 console application" and then "empty project." So saying that you can't avoid MFC generated code is complete crap. I do it every day.

      As far as VS6 is concerned, it had some serious problems. The text editor itself was nice and it was fairly fast but the implementation of the C++ STL was horrendous. The interface was somewhat cumbersome

      As many others have said, it's very possible to code everything in VS from scratch. The wizards and code generators are there to help experienced and non-experienced users deal with trivial and uninteresting code (e.g., GUIs) and it lets them focus on the real bulk of the program. GUI programming requires a ton of code and to be perfectly honest, I would rather deal with coding the actual program and not have to worry about how to draw a menu manually. The drag and drop form editor is great for getting the general layout of a form and has saved me countless hours, which I then devoted to the more important aspects of my program.

      So I have to disagree that the latest versions of VS are crap. They have more tools, more language support, are closer to standards, have better dynamic help (if you need it), and have more features to help speed up development time for people that *know* what they are doing. Whether you use these tools or not is up to you and most of the help they give can be turned off or completely ignored.

      --
      find . -name "noobs" -print | xargs rm -rf && echo "pwnd."
    2. Re:So true by TiggertheMad · · Score: 1

      and have more features to help speed up development time for people that *know* what they are doing.

      Nice ad hominem attack. You sure burned me there. Way to make a point!

      They have more tools

      ...that are not really essential...

      more language support

      What, Dot Net? Who cares, notepad works fine for the kind of rinky-dink projects one might use dot net for. You don't need a massive IDE to build a database middleware interface. I need an IDE when I'm doing some real work on a C++ app that has 100 files in the project.

      have better dynamic help

      An annoying distraction that is pretty poor at providing any real useful content. MSDN is better organized, and that's saying something, since it is a mess in its own right.

      Whether you use these tools or not is up to you and most of the help they give can be turned off or completely ignored.

      Which brings us to my primary bitch with most MS products. I don't want the Queen Mary. I want something that is basic, fast and lean. I don't need to spend lots of time fooling around all the 'helpful' features that MS thoughtfull decided to include.

      --

      HA! I just wasted some of your bandwidth with a frivolous sig!
    3. Re:So true by NeuralClone · · Score: 1

      Nice ad hominem attack. You sure burned me there. Way to make a point!
      I was stating the purpose of Visual Studio: to help speed up the development time for large projects. To take full advantage of this, one would need to know what they are doing. You are seeing an attempt at an attack where none exists. If I wanted to attack you, I would do it directly.
       
      ...that are not really essential...
      No, they are not. I never said they were. However, as I stated before, some people may find them useful. It all depends on the task you're trying to perform. The C/C++ debugger in Visual Studio is one of the best debuggers around. If you don't want the tools, remove them. As I said before, many of them can be removed or disabled simply by going to the options menu. It's not like clicking a few buttons or checkboxes in an options menu takes that much time.
       
        What, Dot Net? Who cares, notepad works fine for the kind of rinky-dink projects one might use dot net for.
      .NET can be used for much larger projects and can be used like Java or Python to help glue applications together. Saying that .NET is usually only used for "rinky-dink" applications is ignoring the larger potential of the language. Also, Notepad would be horrendous for writing a UI, which is one of the nicest features of .NET. Notepad would be fine for console applications but once a UI is involved, it would become too hard to manage.
       
        You don't need a massive IDE to build a database middleware interface. I need an IDE when I'm doing some real work on a C++ app that has 100 files in the project.
      I never said that an IDE should be used for small applications. I generally write my smaller programs in a simple test editor as well.
       
        An annoying distraction that is pretty poor at providing any real useful content. MSDN is better organized, and that's saying something, since it is a mess in its own right.
      Except that new versions of VS have an offline version of MSDN included as "dynamic help." That's one of the major changes between VS6 and VS.NET. I agree that the organization could be better but MSDN does have its uses.
       
        Which brings us to my primary bitch with most MS products. I don't want the Queen Mary. I want something that is basic, fast and lean. I don't need to spend lots of time fooling around all the 'helpful' features that MS thoughtfull decided to include
      Some people find many of the tools included to greatly increase their development speed. If they get in your way and slow you down, then clearly VS isn't the right tool for you, which is perfectly fine.

      --
      find . -name "noobs" -print | xargs rm -rf && echo "pwnd."
  46. Re:Does it? Not sure. But from experience I can sa by Doctor+Crumb · · Score: 4, Insightful

    Exactly; if a person needs an IDE in order to understand the code, then that person is not a programmer, they are an IDE operator. IDEs are the assembly line of the programming world; you can get cheaper, less skilled labour to produce something adequate using it. I wouldn't say that they necessarily "rot the brain", but they do keep many people from ever improving beyond the level of being an IDE operator.

  47. Re:Shut up DINOSAUR by kahanamoku · · Score: 1

    I can purchase a software package faster than you can create one in java... so, according to your approach, you're the one who's a dinosaur wasting your own time coding.

    Fact is, the package I buy will be bloated with extras that I will never need or use.

    Programming in RAD languages is no different. You make a call to a pre-existing function/component/"GUI element" and sure, it does the job quicker, but how many bugs does that come with that you dont know about, cant see, and cant fix yourself?

    I agree that certain 3GL and 4GL development languages have their place, and so do the 1GL and 2GL's. if people choose to write in a language that is 1 level closer to machine code than what you're using, Kudo's to them for learning about what they're doing, but dont knock them, or you're no better than the guy who built Jurassic park.

    --
    ----- Concentrate on promoting more than demoting.
  48. Re:Shut up DINOSAUR by Ithika · · Score: 1

    You didn't read the guy's post at all. You saw the word Java and the knee-jerk reaction just *happened*.

    If you take a closer look, the GP uses the introduction of Java programming as being "proper" programming, and antithetical to the Visual Studio way of doing things.

    In future: read, understand, then post.

  49. Re:yes, it does rot your brain, or at least habits by nmb3000 · · Score: 4, Insightful

    If used correctly Visual Studio does not "rot your brain" or cause bad habits.

    The places where Visual Studio excels is in some of the following:

    Code/syntax highlighting
    Structure/layout
    Designing graphical aspects (forms, window layouts, etc.)
    And others

    One of my favorite features is the form of auto-completion and showing function prototypes. You don't have to have memorized the entire Win32 API to be a "good" programmer. Documentation comes in many forms and by having the IDE tell you when you open a parenthesis what the function expects as inputs is just another way of looking at the docs.

    The one place where I think that an IDE can cause some harm for new programmers is the "shake-and-bake" method of designing an app where it asks 10 questions and writes the code for you. Past that, IDEs are a great tool for managing larger programming projects.

    --
    "What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
    /)
  50. No, it doesn't! by MaestroSartori · · Score: 1

    See, it sounds like the real problem here is the whole "visual programming" thing rather than the IDE. All of the 'problems' sound to me exactly like my experience of using C++ Builder years ago, when I was hurriedly knocking out some pointless test apps while learning the basics of C++. I quickly discovered Builder was fairly useless for this purpose, and went to using VC6 to write command-line programs, which was much more educational.

    I've now used VC6 and VS.Net professionally. Again not as visual programming tools, but as compiler/debugger frontends for various consoles. They absolutely rock - nice, stable, coherent(ish) IDEs that have less in the way of annoyance *for me* compared to their main alternative in my area (CodeWarrior), or indeed any of the free/open-source IDEs I've used so far.

    For the sake of completeness, I must add that Eclipse looks absolutely awesome, and I'm about to invest some time in learning the ins and outs of it. It looks to have all of the VS good points and adds a few of its own (even more customisable, partially down to being open source!).

  51. in Highschool I took both visual basic and Java courses. I have hated VB and Visual Studio ever since. Its the worst way to introduce a relative n00b to programming. Because it really isnt. It only allows us to use lower level thinking. Everyone's programs in the class were very simliar in nature (we were allowed to create a small little video game of our own design). The only interesting thing was that I made a little rts game, and everyone used some shiity code from a shitty book to move images. Resulting in a quite unnatural looking white flashing graphics. Everyone else pretty much made some text based game or pong, boy did it stiffle creativity. Although, in my java class I made a Stephan Hawking Pac man, and everyone else pretty much did a card game or pong. So maybe Im just blaming VB and VS on some really uninteresting geeks at my school.

    --
    public class null extends java applet { System.out.print ("Tabula Rasa"); }
  52. Only the lazy fail by NousCS · · Score: 2

    Just as repeated use of calculator degrades a person's math skills I agree that Visual Studio can degrade a programmer's ability to remember all the aspects of a language. However, it really only affects those programmers who are lazy. Many people have already noted that it is easy to turn off the auto-whatevers and use code. You can go further and just use the command line. Lazy FU|5. Also, if you don't use Visual Studio why are you reading this?

  53. Assuming that you code alone... by borkus · · Score: 4, Insightful

    ...I'd agree that you're just as well off working in a text editor. However, most software projects involve using other folk's libraries - whether Microsoft's, other vendors' or just libraries created by your co-workers.

    I just finished a project where a co-worker of mine worked on the business logic objects for a system and I did the presentation and screen flow. Yeah, I could've fished through his JavaDocs and designs. That would have added 10-30 minutes everytime I had to figure out a new call to one of his libraries. Instead, I could hit "." in Eclipse, pull up the methods and select the one that I needed. In the future, other folks on my team will need to support that code. Being able to receive documentation from within the editor will make their jobs much easier.

    It's interesting that the project that author most enjoyed was a C program he wrote for his own amusement. Unfortunately, most of the coding folks do for money involves working with others. While working individually on a project is more fun, being able to do so is typically a luxury.

  54. Does Visual Studio Rot the Brain? by Anonymous Coward · · Score: 0
  55. Hypercard vs. Visual Studio by G4from128k · · Score: 2, Interesting
    From what I have seen, Visual Studio seems to automagically impose a bunch of programming cruft on any project. The default code structures make it hard to fully understand the what and why. In contrast, Hyerpcard let the programmer draw all the UI elements with a Drawing tools palette and easily add event-driven code into each UI object (Cm-Option-Click took you right to the code space of a UI object). A simple message passing heirarchy let UI messages flow intuitively from UI objects such as buttons to the card with that button to the background of the card to the file (called a stack) that contained all the cards. In short, Hypercard provided an excellent interface for creating interfaces.

    Hypercard had some serious limitations (no data structures, monochrome, single-user applications, sometimes slow on machines under 50 MHz, etc.), but it had a very nice approach to both constructing UI-intensive applications and an extremely fast edit-run-debug cycle.

    --
    Two wrongs don't make a right, but three lefts do.
    1. Re:Hypercard vs. Visual Studio by ad0gg · · Score: 1

      Wow a hypercard programmer, thats was my first real development ui back when i was 12 unless you count world builder. I remember writing cards with 3 or 4 visual affects(barndoor blinds etc) and pretending i was writing some super secret cia application with hidden buttons and dozen password fields. As for visual studio, there's always a code behind option which lets you forego the WYSISWG editor and hand code everything, its quite tedious laying out a UI by hand, unless your good at thinking by coordinate numbers.

      --

      Have you ever been to a turkish prison?

    2. Re:Hypercard vs. Visual Studio by bani · · Score: 1

      sometimes slow on machines under 50 MHz

      good lord, I remember running it on 8mhz macs... :-(

    3. Re:Hypercard vs. Visual Studio by TouchyFeely · · Score: 1

      Hypercards' decendants have come a LONG LONG way since those days... check out: http://www.runrev.com/ and download the demo support list archives can be found at: http://mail.runrev.com/pipermail/use-revolution/

    4. Re:Hypercard vs. Visual Studio by dtfinch · · Score: 1

      The programming language was a nightmare, mainly the lack of arrays, requiring a very CPU intensive workaround. It was good enough for Myst I guess.

    5. Re:Hypercard vs. Visual Studio by DeafByBeheading · · Score: 1

      You worked on 8 milliHertz machines? Dude, that's hardcore. Although since you were waiting over two minutes for each instruction, I think you should've seriously considered just picking up a pencil.

      --
      Telltale Games: Bone, Sam and Max
  56. Re:Shut up DINOSAUR by kahanamoku · · Score: 1

    hehe, I need my eye's checked... for a moment there I thought you said XBOX of a language!

    --
    ----- Concentrate on promoting more than demoting.
  57. You win the 'dumbest post of the week' award by LibertineR · · Score: 3, Insightful
    First idiot, an IDE is not supposed to teach you ANYTHING.

    It is a tool. Does your socket wrench teach you how to build a house? Do your credit cards tell you how to spend your money?

    Someday, somehow the Microsoft bashing needs to end, or at least be about something intelligent. If you are a programmer, well versed in the basic concepts of code, both procedural and OO, then all that Visual Studio will do for you is increase your productivity in what ever you are planning to create in the programming languages that it supports.

    Now, some might argue that features like 'intellisense' can help you remember the depth and breath of the WIN32-64 APIs but that is not close to doing what it takes to become a profiecient programmer. The only thing that teaches you how to code, is to CODE, CODE and CODE SOME MORE. In addition to that, it wouldnt hurt to learn from others, from books, from classrooms, user groups, etc, what programming is all about.

    If you (or your good(but not so brilliant) friend think that by picking up an IDE that it will teach you how to really program, then you both need counseling.

    1. Re:You win the 'dumbest post of the week' award by Moofie · · Score: 1

      "First idiot"

      Hey! Say what you want about the President, but Laura's hot.

      "If you (or your good(but not so brilliant) friend"

      Hope you pay more attention than this to your parentheses when you CODE SOME MORE.

      --
      Why yes, I AM a rocket scientist!
    2. Re:You win the 'dumbest post of the week' award by bogado · · Score: 1
      Do your credit cards tell you how to spend your money?


      Actually they do, and luck me I don[ t listen to them. At least not all the time. Well Not evry single time. Hey what is that? A new colored lazer pen in think geek?
      --
      []'s Victor Bogado da Silva Lins

      ^[:wq

    3. Re:You win the 'dumbest post of the week' award by Pneuma+ROCKS · · Score: 1

      Even though it is funny, this post definitely deserves an 'Insightful'. I agree with you 100%.

      Does Java have anything particularly more educational or correct than .NET? The difference of syntax between Java and C# is insignificant, and there's drag-an-drop, wizard, 1-2-3 IDE's for Java as well. WSAD is a good example. The real topic of this dicussion maybe should be: "Do high level IDE's Rot the Brain?". Going against Microsoft is completely uncalled for.

      And yes, I am relatively new here, thank you.

      --
      Favorite quote: &quot;
    4. Re:You win the 'dumbest post of the week' award by sd_diamond · · Score: 1

      Do your credit cards tell you how to spend your money?

      Mine do. Usually in urgent, seductive whispers.

    5. Re:You win the 'dumbest post of the week' award by pklinken · · Score: 0

      :13 Error: Expected ')'

    6. Re:You win the 'dumbest post of the week' award by salesgeek · · Score: 2, Informative

      It is a tool. Does your socket wrench teach you how to build a house? Do your credit cards tell you how to spend your money?

      In defense of the person you refer to as "idiot", I've never seen a socket wrench with language specific context sensitive help, debugger, context sensitive suggestions to correct errors and an online reference library built in before. Bad analogy. Regardless, my credit card company keeps sending me ways to spend my money. Every month my statement has 1 page of bill and about 18 little inserts all with ideas of how to make the bill expand from one to six pages. Not nearly as educational as the IDE :)

      Your point is right that if you are using the IDE to learn a language: it's not the best idea. But an IDE can be very helpful, especially when new programmers are facing learning thousands of calls in an API as large as Windows. I know Turbo-C helped me learn a great deal back in the day.

      --
      -- $G
    7. Re:You win the 'dumbest post of the week' award by Anonymous Coward · · Score: 0

      "Does your socket wrench teach you how to build a house?"

      No, but spend a few minutes with it and you'll learn how to use it.

      "The only thing that teaches you how to code, is to CODE, CODE and CODE SOME MORE."

      No. This is a basic flaw of how people learn to code. You pick up bad habits this way, until they are ingrained. People who learn only by doing often never learn some of the most basic concepts of well-developed code, such as documentation, and the use of standard structures to make the code maintainable by someone else.

      Not saying that an IDE is the way to learn. But just coding, coding, and more coding is DEFINITELY not the way to learn how to code well, unless you have periodic feedback and guidance.

    8. Re:You win the 'dumbest post of the week' award by GlassHeart · · Score: 1
      The only thing that teaches you how to code, is to CODE, CODE and CODE SOME MORE. In addition to that, it wouldnt hurt to learn from others, from books, from classrooms, user groups, etc, what programming is all about.

      Learning from other people's code, from books, and from classes are not only something you do "in addition", but a vital part of the process. Writing code is, at its core, about communication your intentions both to the computer and to another programmer, so if you never communicate in any way with any other programmer you are unlikely to learn how to do the latter.

      For example, in C the idiomatic way of writing a loop is "for (i = 0; i max; i++)". It is entirely possible to write "for (i = 1; i = max; i++)" instead, but deviating from that idiom means that another C programmer is a little more likely to misread and misunderstand your code. It's also entirely possible to #define your way into a completely foreign dialect of C, but the pitfalls of that will not be readily apparent unless you communicate with other programmers.

    9. Re:You win the 'dumbest post of the week' award by Anonymous Coward · · Score: 0

      You are ignorant. A good tool does, in fact, teach you.
      Partly because a good tool such as Emacs is in itself complex
      and worthy of study which builds general development skills;
      and partly because a good tool will facilitate programming through
      aids such syntax high-lighting; context sensitive documentation;
      code completion; and refactoring.

      ---
      I'm not saying Visual Studio is a good tool -- I'm a UNIX guy --
      but last time I used Visual Studio (around 2001) I found it to be reasonable.

    10. Re:You win the 'dumbest post of the week' award by killjoe · · Score: 1

      "Someday, somehow the Microsoft bashing needs to end, or at least be about something intelligent. "

      I tell ya what. I will end Miscoroft bashing when they stop calling me a communist and other names. Fair?

      --
      evil is as evil does
    11. Re:You win the 'dumbest post of the week' award by CastrTroy · · Score: 1

      The problem is, is that this guy is blaming the IDE, because his friend used the IDE and now, he can't program. I know lots of really smart people that for some reason just can't program. It sounds like the kid isn't even that interested in programming. Maybe if the kid is really smart, he should get into something that he is more interested in. His talents might serve him better this way. I don't think that IDEs make you dumb. There's a lot of useful tools in IDE that help you to get the job done faster, but I think that part of the brain shuts off when using them. For a semester in high school, I did math with a pen, and without a calculator. I learned how to do math pretty well in my head, and also stopped writing the wrong thing before I was sure of the answer. I think that advanced IDEs do the same thing. They tell you the function parameters so you don't have to memorize them, and they tell you when you forget a semicolon, or a closing brace. Maybe it's good we can shut off little parts of our brains, so the rest of our brains can work harder.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    12. Re:You win the 'dumbest post of the week' award by R3d+M3rcury · · Score: 1

      "Does your socket wrench teach you how to build a house? Do your credit cards tell you how to spend your money?"

      Yes. Yes they do. It's really annoying. They're always telling me what to do.

      But the worst is the neighbor's labrador retriever...

      (Actually, I also found this to be entertaining, but I couldn't find anything about a talking socket wrench.)

    13. Re:You win the 'dumbest post of the week' award by nitehorse · · Score: 1

      +1, Battlestar Galactica

    14. Re:You win the 'dumbest post of the week' award by Pneuma+ROCKS · · Score: 1
      Maybe it's good we can shut off little parts of our brains, so the rest of our brains can work harder.

      Absolutely

      --
      Favorite quote: &quot;
    15. Re:You win the 'dumbest post of the week' award by gnuLNX · · Score: 1

      This is simply not true. Many of us started programming on our own..tinkerng. Only later did we larn things like algorithms and data structures. You know what we probably learn those things much better than someone such as your self because we can immedatly draw on our previous experience and say.."oh yeah I totally see why that would be faster, or use less memory, or etc."

      The best way to learn how to code is to find a problem that needs to be solved and go about solving it. while you are doing this make sure you are spending time reading about parts of the language that you don't use and as you grow as a coder start to read books on algorithm and data sructures.

      Not everyone in the world has to be spoon fed information. I for one do not learn very well in a class room setting. I am a hacker (explorer), and many others are like me.

      --
      what?
    16. Re:You win the 'dumbest post of the week' award by Bnonn · · Score: 1

      If you (or your good(but not so brilliant) friend think that by picking up an IDE that it will teach you how to really program, then you both need counseling.

      Do you not close your parentheses when coding too, or is it just a convention for rants?

    17. Re:You win the 'dumbest post of the week' award by Maserati · · Score: 1

      +2, That's My Bush

      --
      Veteran, Bermuda Triangle Expeditionary Force, 1992-1951
    18. Re:You win the 'dumbest post of the week' award by I+Like+Pudding · · Score: 1

      I believe it became the idiom because x < 10 is more efficient than x <= 9. Generally, the simpler the exit test, the tighter the loop. for (x=10; x != 0; x--) is, I think, as efficient as you can get without unrolling.

    19. Re:You win the 'dumbest post of the week' award by Anonymous Coward · · Score: 0

      I tell ya what. I will end Miscoroft bashing when they stop calling me a communist and other names. Fair?
      Heh let me guess you voted for Kerry too?

    20. Re:You win the 'dumbest post of the week' award by LegendLength · · Score: 1

      Not everyone in the world has to be spoon fed information. I for one do not learn very well in a class room setting. I am a hacker (explorer), and many others are like me.

      I'd take that even further and say that nearly everyone is like this. People love learning by doing and running into real concrete problems. Theory is only good for summarizing what people know from real examples that they saw through their eyeballs (imo). I mean that in the sense that real examples have a lot more meaning to people than abstract concepts.

    21. Re:You win the 'dumbest post of the week' award by Wavicle · · Score: 1

      I'm not sure that x 10 is any more efficient than x = 9. Both involve a subtraction, setting status flags, ANDing the status flags and branching on the result.

      I strongly suspect the idiom has more to do with pointers & arrays. c[5] is the same as *(c+5) and is the same number you'd use to access the 6th element of the array in assembly language. If you have an array of 10 chars, you'd access them as arrayAddress+0 - arrayAddress+9 in assembly, and since C and assembly have been tight throughout C's existence, C uses the assembly convention.

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
    22. Re:You win the 'dumbest post of the week' award by Anonymous Coward · · Score: 0

      Let me guess, you voted for Bushie right? The guy who can't talk, gives job to his cronies, doesn't read the papers, and goes to war because the voices in his head (er I mean god) told him to.

    23. Re:You win the 'dumbest post of the week' award by ultranova · · Score: 1

      It is entirely possible to write "for (i = 1; i = max; i++)" instead,

      Yes, it is. And you just demonstrated one of the common mistakes that an IDE can easily spot by simple heuristics, but which are nearly impossible for a human being to see. This isn't even the nastiest case, this is:

      if (i = value)
      if (i == value)

      The compiler doesn't complain, your own eyes don't spot the incorrect number of equation marks; a variable just mysteriously gets a wrong value, and an "if" statement gets executed sometimes when it shouldn't. All because of a single typing mistake, the kind that's very easy to do.

      Whoever designed the "assign" and "equals" operators for C sure made a fine choice...

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    24. Re:You win the 'dumbest post of the week' award by GlassHeart · · Score: 1

      I apologize for forgetting that I was posting in HTML, which lopped off the less than (<)character. Actually, what I had meant to cite as examples was the difference between writing "for (i = 0; i < max; i++)" and "for (i = 1; i <= last; i++)". The former is a common C idiom that one would not necessarily learn without reading other people's code.

  58. Its just a tool by Zaai · · Score: 2, Insightful

    Tools are there to facilitate the developer. If the tool doesn't force you to look in depth at the code it generates it can be more productive than tools that do force you to look at auto generated code. This has nothing to do with proper software engineering practise. A good software engineer will first think about use cases, requirements, design before touching the tool. So don't blame the tool for bad development practise.

  59. Visual Studio = Vendor Lock in by Spy+der+Mann · · Score: 3, Insightful

    Just try doing an #import with GCC.

    When you switch from VS to GCC you suddenly find many things you had taken for granted aren't there. Hey, where's the RAD? How do I do this? Why don't my #import's work? What's with those unresolved links?

    Etc. etc. etc.

    The great thing with open source libraries like wxWidgets (which is very similar to MFC, by the way) is that you know what you're linking to and how they work.

    So the key word in here is "transparency".

    1. Re:Visual Studio = Vendor Lock in by bani · · Score: 1

      not to mention all the #pragma :-(

      switching from VS to GCC at least gets you a c99 compliant compiler :-)

      also little GCC things like __attribute__((format(printf ... )) helped find a ton of unsolved bugs in win32 code I ported.

    2. Re:Visual Studio = Vendor Lock in by Tim+Browse · · Score: 4, Insightful
      When you switch from VS to GCC you suddenly find many things you had taken for granted aren't there. Hey, where's the RAD?

      I fail to see how providing RAD tools in VS is somehow a shortcoming. Isn't that like saying you should rip most of the features out of Emacs because when you have to use another editor they won't be there anymore?

      Why don't my #import's work?

      Anyone who switches from VC to GCC and expects #import to work has bigger problems to worry about. Being a muppet, for one.

    3. Re:Visual Studio = Vendor Lock in by Krach42 · · Score: 0
      starport tmp$ gcc ick.c
      ick.c:1:2: warning: #import is obsolete, use an #ifndef wrapper in the header file

      I'm sorry... was this like supposed to produce an error or something? Or were you talking about how gcc complains that it's obsolete.

      Actually in fact, Apple's gcc included with OSX makes no such error at all, as many of their source files use #import.
      --

      I am unamerican, and proud of it!
    4. Re:Visual Studio = Vendor Lock in by RupW · · Score: 1

      Just try doing an #import with GCC.

      But you only need #import for COM type libraries, don't you? Which you'll only ever need on Windows, so MSVC-only isn't that big a deal?

      Unless you're programming Objective C, that is.

      In any case I think you can simulate it with one of the tools in your makefile anyway to generate a .h you can just #include.

      The great thing with open source libraries like wxWidgets (which is very similar to MFC, by the way) is that you know what you're linking to and how they work.

      But you do get the MFC source with MSVC! And the ATL and CRT sources too.

    5. Re:Visual Studio = Vendor Lock in by Enrico+Pulatzo · · Score: 1

      GCC promotes vendor lock-in too.

      Just try to compile the Linux kernel with some other compiler.

    6. Re:Visual Studio = Vendor Lock in by Anonymous Coward · · Score: 0

      The Linux kernel can be compiled by both TCC and ICC. So what is you point ?

    7. Re:Visual Studio = Vendor Lock in by DeafByBeheading · · Score: 1

      Sure, but that happens with any compiler. It's less of an issue with Free ones because it's not as big a deal when you're "locked into" something Free. I recently ran across this, the Mozilla C++ Portability Guide, and I was really surprised how anyone can jump through all those hoops to satisfy all these different compilers, and still write such a great app.

      --
      Telltale Games: Bone, Sam and Max
    8. Re:Visual Studio = Vendor Lock in by Alioth · · Score: 1

      You can supress that warning trivially as well (and I think that the gcc people have decided not to deprecate #import any more anyway). That warning is supressed in Oolite-Linux since it's all Objective C making liberal use of #import.

    9. Re:Visual Studio = Vendor Lock in by Krach42 · · Score: 1

      Yeah, just about any system that uses a lot of ObjC will likely turn this message off, because ObjC tends to favor use of #import over #include with #ifndef wrappers.

      Apple uses tons of ObjC also, and that's why their gcc has the warning turned of also. This is likely the reason why the gcc devs decided not to deprecate it; because it's still in heavy heavy use with ObjC.

      --

      I am unamerican, and proud of it!
  60. Finish the fucking story by heinousjay · · Score: 3, Funny

    I have been programming pretty steadily for about 30 years now, and only once have I seen a computer fail in a way I'd classify as "interesting."

    I really wanted to hear the end of this...

    --
    Slashdot - where whining about luck is the new way to make the world you want.
    1. Re:Finish the fucking story by B3ryllium · · Score: 1

      I think I'm going to bookmark this on the off chance that he actually replies to you with the story :D

  61. Re:yes, it does rot your brain, or at least habits by slashdotnickname · · Score: 1

    I tried to turn him on to coding, but he went out and got Visual Studio, and went off on his own. He came back and proudly demonstrated his various creations. While I liked his creativity, it was evident his depth of grasp of the workings of programming were as deep as VS allowed him. Cute screens with cute input buttons and cute input boxes. But nothing in the sense of real code.

    So you blame Visual Studio for having him build a pretty GUI instead of coding an intricate algorithm?!

    Good programmers begin with a love of solving mathematical and/or logical puzzles. This is not something you can just instill into someone by tossing them an expensive IDE. Of course he was going to create pretty looking GUIs. VS is just a tool designed to help with some of the more laborious (i.e. brainless) parts of programming.

    Maybe you're projecting yourself onto him, and he's not much of an analytical thinker... sounds like his love of shinny, pretty things might lead to a more promising career on Broadway.

  62. Huh? by Comatose51 · · Score: 5, Insightful

    Got my degree in CS and programmed almost entirely in *nix and using Emacs. Did my senior thesis using C# and VS .Net. Don't really notice anything different really... The only difference is that I use the .Net library which gives me a lot of prebuilt stuff. VS.Net is not all that different from what Emacs was for me. They both accomplish one thing and that's to save/write my code to a file. I fail to see what was forced on anyone. Programming, the actual process of writing the code is VERY simple. All you need is a text editor and something to compile it afterwards. So I don't see how any tool you use to do that can force you to do anything. If I have bad techniques or habits, that's my fault. If nothing else, VS.Net has made commenting and generating documentation a lot easier. My programming technique isn't something I'm going to blame/give credit to MSFT--not this one for sure.

    --
    EvilCON - Made Famous by /.
    1. Re:Huh? by NMZNMZNMZ · · Score: 1

      Couldn't agree more. I'm a somewhat amateur C/C++ programmer, and I love using MSVC++ 6.0. The syntax highlighting, auto-indent, and file management are really the only features I use. I can code without them. I wrote (poor) PHP using Notepad for about a year, then found EditPad Pro, which does little more than syntax highlighting and auto-indenting (still use it for simple tasks like PHP and HTML editing), and have in the past year moved to MSVC++ for actual programming. I'm currently making a homebrew game for the PSP in C, but still use MSVC++ for the features I mentioned earlier.

      I don't think that your IDE should affect how well-written the code you write is. If you write poor code, you're a bad programmer, regardless of your IDE. And if you're learning how to program using the IDE's auto-generated code... I look forward to seeing you on The Daily WTF soon.

    2. Re:Huh? by Tuross · · Score: 5, Interesting

      I've seen this sentiment a couple of times in this article, so I choose you to respond to. Congratulations ;)

      Some background first: I dropped out of University for two reasons, first I wasn't sure if I wanted to focus on software development or network administration and I wanted some industry experience. Second, there were far too many people there who could memorize textbooks and regurgitate the examples, and hence go exceedingly well in examinations which seemed to only test this attribute; yet who could not understand yet explain the concepts being "taught".

      That group I labelled, through its abundance of occurrances, the Visual Basic programmers. Using the term "programmers" loosely, of course. They could paint applications really well (drag & drop little GUI shit around in Visual Studio and come up with something tangible) but you didn't even have to take them outside of Visual Studio for them to be well out of their depth (which they obviously are when you do). Just ask them to explain what any of the Visual Studio-generated code does. They have no freaking idea what their code does, they just know if they drag this here and drop that there and click here and type that, that they get foo.

      Now, in a culture when IT professionals are treated less than dirt, particularly by those in management, the focus is on generating Maggi programs. You know, the classic 2-minute noodles. Tangible results ASAP, don't care that the weird geeky stuff looks like spaghetti and the cook can't tell you what its made of because they simply don't know. All they had to do was drag some shit out of a package and drop it into a saucepan and stir for a little bit.

      Nobody denies that Visual Studio has features that are useful. What is under scrutiny here is the fact that it also has features, and there's some crossover, that enable complete dimwits to produce the kind of results management is looking for in the time they are looking for, leaving those who can actually design and develop software looking incompetent. The PHB doesn't care that the real hacker's design is far superior and the implementation robust, it took 4 weeks longer (because they understood the entire problem and handled all the cases) and dammit the client wants it NOW, who cares that its crap - that's just a small detail that can be fixed later - potentially for more money. This then forms a culture that a particular breed of "programmer" - namely those that can only use Microsoft tools and work solely on the Microsoft platform - are better and that Microsoft solutions are better; not because they are but simply because more quality people and alternative solutions are shut down before their full benefits are realised, because of the impetus on getting a quick buck and must have things NOW.

      I work with someone who only last week could not comprehend exactly how they were going to go about doing a particular job as Visual Studio was not installed on the server. The job involved editing some XML config files and doing some minor Python programming. Visual Studio by default has absolutely zero Python support (Activestate and presumably others have $$$ plugins for it, but that's not the point). That particular sentiment came the day after I installed Vim (with the Cream suite - I do that on Windoze boxes to stop Windoze gumbies whining about the default keybindings - another symptom of "cannot cope outside the box") while they watched on, and we did some of the work together. The whole "outside the box" thing annoys me because this VB programmer culture festers this idea that those who do it the Microsoft Way are somehow immune to the requirement to be flexible. Case in point, there's no requirement for them to "put up with" using something other than Visual Studio - yet you take someone with Unix experience and the onus *is* on them to adapt. I know its because Unix people are far more flexible and generally smarter and more capable, but in reality it translates to our skills being taken for granted

      --
      Matt
      1. Read Slashdot
      2. ???
      3. Profit
    3. Re:Huh? by Comatose51 · · Score: 1
      I understand and agree with most of your sentiments. I actually wanted to mention in my original post that VS.Net does allow some people to get by knowing less than what they need to. Then when it goes over their heads, they ask for help. I know. I've been there. Yes, Microsoft culture does allow a higher tolerance for ignorance but that's also why they're so successful in the industry. I work in a Microsoft shop so I know first hand the advantages and disadvantages of this culture.

      However, to say VS.Net forces programmer into bad habits is unfair. VS.Net is one of the few MSFT products I have quite a bit of respect for because it works. The highlighting and the comment generating are wonderful. But the one thing I love about it is that I don't feel handcuffed at all, unlike how I often feel about other MSFT products. I fire it up and a few minutes later I'm coding. Recently, I gone back to some of my earlier projects and felt embarassed. I was such a horrible coder. My style was ugly and I could see right away why it wouldn't scale very well and be difficult to maintain. Then I look at my more recent project and felt a certain amount of pride in how much better I am now (on a relative scale to myself of course). They were both made in VS.net. The only thing that's changed is me and my experience. VS.Net didn't make me a better or a worse programmer. It did its job of taking down what I wanted to write.

      Sorry about your experience man. There will always be a place for talented and intelligent people. Best of luck.

      --
      EvilCON - Made Famous by /.
    4. Re:Huh? by HawkingMattress · · Score: 1

      What the "classic editor/compile" people are complaining about is the code you can have generated by vs, i think, not the editor itself. I mean you can start a new project and have a tab oriented gui two secs after, without understanding one bit about what's really going on in all the code that drives the gui. Then you can run a wizard to... add a wizard, things like that (didn't use vs since version 6 so it probably does a lot more now).
      Myself i don't find it that bad, after all if all your program has to do is x, and having multiple tabs is a good way to represent the problem, having to understand how all the code that makes the gui work isn't stricly necesary. It's really useful if you need to modify it to achieve your goal (and you'll often have to unless your program is really simple), but for simple programs you can just fill the blanks in (pseudocode) createWindow(), createTab(), closeTab(), etc...

    5. Re:Huh? by Billly+Gates · · Score: 1

      I hear your fustrations

      Not to sound like a dick but those VB jockeys that *look more compentant* are. I am not saying they are better coders or you know less.

      But they keywords you gave were *listen* and *provide*. It sounds the others guys had supperior tools and listened to the client and got it done.

      There are different kinds of programming required. IT seems the team you are on is based on simple ide based database apps under tight constraints. a couple of people who know VS and not software engineering are more efficient.

      If you are good with computer science and web page development then you need to develop and work with people who do sql programming or specialize in situations where algorithms and methods are more valued.

      The last thing I suggest is perhaps think about why these guys are looked upon so well? Learn vs.net? Go ask for training or sign up for some nightime community college classes. Get some dietel & dietel books about rad and hack at home. Learn more about business. Taking a single macro-economics course would help too. I am taking that now to learn more about business.

      If you are a great programmer than you should be able to do run-arounds with guys in VB. Last I had a presentation at my old LUG from someone who runs a supercomputer cluster with Linux. Basically his argument that if you gave programmers an unlimited budget and time frame to develop a flight simulator, then you would end up with a full plane. Maybe your overengineering yourself for programs that do simple tasks? Something to think about.

    6. Re:Huh? by Billly+Gates · · Score: 1

      I believe VS.net and Java do encourage bad programming for those learning or only using these environments. i had some experience with vb4 and msbasic before that using lots of goto statements.

      Using myself as an example i had to drop out of a java course because i could not understand or remember all these funny things called methods and "."s and what they did.

      It was not until i picked up a college level C++ book by Dietel & Dietel on how to program aimed for computer science101 students that I finally understood. You need to learn how to write good code and the pros and cons of doing things. After a few months and many programs I finally started objected oriented programming. After learning about structs and pointers i had an idea of what member functions were and then i understood java ALOT easier. Same can be true of vs. Does the programmer know what enheirantance is? Or how to scope variable and how do you pass a call to a function that is clean like call by value but not not as slow or ugly like call by reference?

      Now I am looking at Java and wow its not hard and I understand what is going on and I actually know how to program some what.

      This is what the author was saying and I agree.

    7. Re:Huh? by Tuross · · Score: 1

      I did go off the track with the personal experience, which wasn't the point.
      My point was somewhat twofold, first that Visual Studio is, while a useful tool, also a vehicle for what the real problem is that TFA is trying to get at (in my interpretation). That problem being a virulent culture in IT that undermines and compromises quality and long-term success for short-term gain. "Brain rot" is a symptom of that problem, I was using my own experience to attempt to illustrate the evidence of this and just got carried away.

      What I didn't say is that there's a lot of stuff where people's lives depend on software, from somewhat niche areas such as aircraft traffic control systems & GPS navigational aides to the potential of commodity office software with numerous known bugs to corrupt information in a database resulting in someone in desperate need of aide (say, a disabled or elderly person) not receiving it.

      When people graduating now with tertiary degrees simply cannot solve those problems as they lack the basic brain functions to comprehend something outside the M$ environment, then as older & wiser people with those skills die off (or bugger off because they're sick of the crap) we eventually become unable to solve problems. Like how we're still speculating on exactly how the Mayans and Egyptians built their structures. Knowledge lost. As a geek I can't think of a more heinous crime against society.

      And its not just Microsoft bashing, I don't give a flying f*** who promotes this kind of culture, they need to be stopped before they do any more damage than they already have. Visual Studio is the straw man here, its just a classic example of a situation where we know that the ratio of skilled programmers to morons who can paint stuff they memorized from a textbook is in the order of 1:20.

      --
      Matt
      1. Read Slashdot
      2. ???
      3. Profit
    8. Re:Huh? by Tuross · · Score: 1

      I agree. Visual Studio is a tool, now you can put an M16 carbine in the hands of a trained, experienced soldier and you can put one in the hands of a 13-yr-old punk wannabe. Both could be shooting people but its not usually the M16's fault where the bullets go.

      The real problem that needs addressing are the more subtle things like who needs to be shot, is a M16 required for this mission or should we use a knife instead, or even does shooting people address the problem or are we meant to be building houses and providing clean water and educating on good irrigation techniques instead?

      Too often I've witnessed innocent people die (in this metaphor) because some punk with little control over recoil is indiscriminately shooting things they can't see.

      --
      Matt
      1. Read Slashdot
      2. ???
      3. Profit
    9. Re:Huh? by Billly+Gates · · Score: 1

      I see at as a corporate culture and one that is widespread. After the .com crash people undervalue IT or the systems work now after the y2k bug so there is no need to upgrade. When this happens you are viewed as a maintainance person like an electrician or plumber. Not someone valuable.

      Most medical equipment and critical systems are not written byh vb jockeys. They are written using calculus to mathmatically prove it can not crash. Nasa does this with some systems.

      But if something needs to be done quickly then VB + access is great for limiting things and time is money. Our jobs are just mathmatical functions where x is inputed for Y result. If x can output more y then its more efficient. So I see it both ways

      For mission critical stuff people get what they pay for. Its your bosses fault and not yours. Stuff for quick guis are nice and relatively bugfree if its Microsofts code. Dont get me started on MFC

    10. Re:Huh? by dascandy · · Score: 1

      But VS.Net is bloated!

      Anyway, when I try to go to the start of the line and type it erases all of my text. How could you not notice that?

  63. I disagree by OzPhIsH · · Score: 1

    I do a quite a bit of programming as a graduate computer engineering student, generally relating to the web, and preferably in Java. For smaller projects I prefer vim and some syntax highlighting, and for larger projects, I like to use eclipse. But being a student, I'm often at the whim of certain teacher preferences. For instance, I'm taking an introductory computer graphics class in which we're learning managed Direct3D. Obviously this requires windows. Anyway, my point being that I'm fairly versed with with alternate programming environments. So, I'm a bit curious as to why we're singling out Visual Studio. What about Eclipse? Does it not 'rot the brain' as well? What makes Visual Studio worse than any other IDE? Are we all supposed to go back to using just text editors, or are we just bashing Microsoft products here?

    It seems like some people are focusing too much wysiwyg gui editor. That's stupid. I don't care what anyone says. I think the Window's forms editor is a godsend. I wish that the eclipse visual editor was anywhere NEAR close the ease and usefulness of the windows forms editor. I'm an engineer. I like to design slick systems that are componantized, modular, extendable, etc. I like the challenge of design, and I like the challenge of implenting those projects. What I do not like is spending hours trying to create a gui interface for the system. GUI programming is tedious, frustrating, and lets face it, It's BORING. Do I even need to say 'GridBagLayout?' Lets face it. The only real need for a super slick professional looking GUI is if your making a commercial, retail application. If that is your goal, you'll hire someone that specializes in creating and designing user interfaces. Otherwise, probably 95% of the time, there is no point waisting your time hand coding a gui. These tools are there to let you explore your creativity, and realize the beauty of your design without getting bogged down by mundane details, like button placement on a GUI. You'd be a fool NOT to use them.

    --

    "To lead the people, you must walk behind them"

  64. Re:yes, it does rot your brain, or at least habits by AuMatar · · Score: 1

    As of 4 years ago, my college was all Unix workstations (mainly Sparcs) for their programming classes. Not a minor school either, UIUC. Most of the big universities are still teaching on Unix from what I've seen.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  65. no gun to your head by fletchzip · · Score: 0

    The statement that "VS forces you to adopt speed and not quality" is as silly as saying "open source development forces you to make non-standardised user interfaces". The quality of the code written depends entirely on the effort, skill and experience of the developer, personally I find no evidence to suggest VS forces people to write bad code. Of course I've seen bad C# and VB code, but to blame the IDE is insane. I've seen bad PHP but I don't instantly blame zend.

  66. As opposed to Qt Designer? Or other tools? by Assmasher · · Score: 3, Insightful

    The tool has nothing to do with whether your fundamental understanding of application architecture is strong or not. What a tool like VStudio or QT Designer DOES do is let people who have no knowledge build applications. That doesn't make VStudio rot your brain. Your brain was either rotted before or not. Most of the worst code I've seen during my career was entered via vi and/or emacs. That doesn't mean vi doesn't rock or that emacs leads to brain rot now, does it?

    --
    Loading...
  67. The Eternal Question by airrage · · Score: 1

    From the article: Programming is the most empowering thing we can do on a computer, and that's what we do.
     
    The old saying is that teacher touches eternity ... a bad teacher touches the same.

    --
    "This isn't a study in computer science, its a study in human behavior"
  68. MOD PARENT UP by Anonymous Coward · · Score: 0

    Now I'm going to be modded down for not being very funny.

    You're welcome.

  69. Overgeneralization by bwalling · · Score: 5, Funny

    All articles like this overgeneralize.

    1. Re:Overgeneralization by TubeSteak · · Score: 1
      Dude, that thing was 20 pages long.
      He must have been specific about something.

      Yea I know, now mod me unfunny

      --
      [Fuck Beta]
      o0t!
    2. Re:Overgeneralization by Khelder · · Score: 1

      The problem with sweeping generalizations is that they're all wrong.

  70. It's not the size of the tool... by xtheunknown · · Score: 2, Insightful

    I don't care what tool you use. If you aren't a good programmer, you're not going to produce good code, no matter what tool you use. If you are a good programmer, then Visual Studio helps you produce good code much faster.

    That said, perhaps I might agree that people who are learning how to code, should probably do so with as little assistance from the tool as possible.

    This is the same thing I would say about kids learning math. Using calculators rots the brain, don't you think?

    --

    They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
    1. Re:It's not the size of the tool... by Kjella · · Score: 1

      That said, perhaps I might agree that people who are learning how to code, should probably do so with as little assistance from the tool as possible.

      I disagree. The primary driver for learning programming (at least to me) is the feeling that you're actually accomplishing something. Being able to drag-n-drop, and not least being able to get instant help on libraries you're not familiar with is golden. But you should never lose track of that noone will build the logic for you. If you want your program to actually do something, beyond simply doing a few basic commands when you click a button, you have to code it. I love it when I can replace 10-100 lines of code with a few simple library functions though. That is the power to accomplish much with little effort, and that's what make it fun. I don't want to spend hours dicking around with some low-level API just to make something trivial happen.

      Kjella

      --
      Live today, because you never know what tomorrow brings
  71. Re:oh... my... god... by Anonymous Coward · · Score: 2, Insightful

    It's not about "an MS development platform" - it's about a wizard-packed, macro-laden, obfuscuated way of programming. Visual Studio is a gem of a programming environment and I use it for my own C++ science apps. I just don't use the things in it that sprawl my code across 20-odd different source files and make coming back to it at a later date a nightmare. And that's a news flash for you.

  72. Re:yes, it does rot your brain, or at least habits by b4k3d+b34nz · · Score: 1

    It sounds like your idea of real code is "spending 5 hours getting an array of checkboxes to work". Why should someone's first dive into programming have them trying to run everything out of a message loop? Give the kid a chance to have some fun, succeed in creating something and learn a few basics before you force him into COBOL.

    --
    Grammar Lesson: you're is a contraction of "you are"; your means you possess something; yore means days gone by.
  73. Re:yes, it does rot your brain, or at least habits by ankarbass · · Score: 5, Interesting

    No offense,

    But, taking stuff apart doesn't make you brilliant. Most of us geeks took things apart when we were kids. People around us said the same things you're saying about so and so's kid. The kid is stumped with java because he's having to go beyond instant gratification and actually learn something. There is a fundamental difference between just discovering random facts and learning ideas that have depth. Just because he can play video games or memorize oodles of random computer facts, or fankly, even put a network together, doesn't mean much. I'm not saying the kid isn't smart, most geeks are "smart", few are brilliant.

    It's good for him to struggle. He'll find out if he's really brilliant. His response that the ideas are stupid is just his ego combined with youth. Does he think math is stupid too?

    My point is that visual studio isn't the problem. The problem is thinking that mucking about with computers is equivalent to learning difficult things. Whipping up some crappy kid-app in Visual Basic is about as difficult as Whipping up some crappy speakers in woodshop. It no more makes you a programmer, or dare I say, a computer scientist, than building the crappy speaker makes you an acoustic engineer.

    The kids problem isn't visual studio, the kids problem is that the stuff he's done requires tinkering and doing but no hard thinking. Now he's being forced to think and it sounds like he's finding out that it's not quite as easy as just doing. That's good!

    ymmv.

    --
    Wanted: Clever sig, top $ paid, all offers considered.
  74. Re:Shut up DINOSAUR by TheGavster · · Score: 1

    In practice, you always want to pick the best tool, no matter how maligned it is by the 'hard core' crowd. The difference, however, between you using a tool to avoid hand coding your 100 UI elements, and a new programmer using a tool to avoid code for their UI elements, is that you know how to hand code them. Like you said, you can hack assembler on hardware controllers. If you never touch on that kind of low level stuff in learning, you'll never understand how it affects the high level stuff you use to make a professional job easier.

    --
    "Because Science" is one step from "Because old book". Try "Because of my experiment testing my falsifiable assertion".
  75. programmer pissing contests aside... by Anonymous Coward · · Score: 0

    Visual Studio really helps you *program*. I found whenver I'm programming in *NIX, I find myself constantly looking up what functions exist inside what files, what they do etc. I know I want a function that acesses a certain data type, but I can't remember what the exact name for it is, or what exactly the specific ordering of the parameters are. I could spend a minute or two looking it up, or I could let code completion find it for me in half a second.

    If you think memorization of arbitrary names and conventions = programming, then, yes, it severely impairs your ability to program. But if you'd rather spend your time designing and coding something, then this is one of the best tools out there.

  76. Quite probably by rafaelete · · Score: 1
    From Mini-Microsoft's blog at http://minimsft.blogspot.com/2005/09/three-quick-t hings-jobs-dynamics.html

    I'm working in both .NET and Java now. What absolutely stuns me is how quickly the Java world can turn around tools and frameworks. I still prefer C#; however I'm working in a Beta of C# 2.0 while Java 5--offering nearly the same feature set--has been out for months.

    The Java IDE--there's really only one, Eclipse--is a 105MB zip file. You know how I installed it? Unzipped it. How do I run it? Click on Eclipse.exe.

    You know how I install Studio? Pay $2500 for top version (not out yet btw but will be about that amount or more); Insert DVD; answer inane questions; walk away for 2 hours; return with at least 1.5_G_B less diskspace and a doubled registry size.

    When I want something new in Eclipse, I wander around a bit on Google and Sourceforge; today I might add code coverage, tomorrow static analysis, throw in some metrics--essentially anything I need. Mostly free.

    I have yet to exceed 150MB total Eclipse directory size, and I have replicated and exceeded the full feature set of VS.NET 2005--which hasn't fucking shipped yet.

    Is this because Microsoft developers aren't as good as Java/open source developers? Hell no! (though it soon may be at current attrition rates) It's because middle and senious management make it impossible for smart people to get anything done, and vigorously punish them when they do.

    1. Re:Quite probably by Anonymous Coward · · Score: 0

      MS doesn't always get everything right the first time, but they usually fix it:

      http://lab.msdn.microsoft.com/express/

      You can now d/l the "slimline" version of VS for only the coding you will be doing. 1 .msi file to install, 1 shorcut to run.

  77. Re:Shut up DINOSAUR by rackhamh · · Score: 1

    I think you just described the difference between computer science and software development, not the difference between programming and non-programming.

  78. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    When I was growing up a I learned programming first through GW-BASIC then Visual Basic. In high school we had a computer science class in C++, which I picked up very quickly, a day or so, and coded faster and better than others in the class. All programming languages are about the same in their basics, so its easy to learn another language. Of course, I didn't learn enough in C++ to make useful Windows applications, so I continued with Visual Basic. I had to invent some algorithms for some of the things I wanted to code so I went beyond just dropping buttons on a form. When I went to college at Berkeley, the first class was SCHEME, I picked that up pretty quickly also with no problems, I didn't struggle at all, even people had problems, and got an A. The next class was Java, which was even easier, it was completely natural to me, and I didn't study at all and finished my assignments at the last minute, and got an A. The most difficult assignment was to create a program to solve a block puzzle in different setups, I put something together in half an hour before dinner, while it took most people a week including working nights. Of course my code needed to be cleaned up and organized past my ad hoc code. :) The next class was assembly, which I also found relatively easy and got an A. I decided not to major in computer science but philosophy, because I didn't want a computer science job where I would be just using my creativity doing meaningless labor for some boss. I decided if I did later decide to program something I would work on that on my own as a hobby.

    The point of my post isn't to praise myself (I am an Anonymous Coward). But to point out that I was able get great skill growing up on pre .NET Visual Basic, which is even more GUI design oriented than Visual Studio.

    And, like I said, when using Visual Basic, I had programs where I needed to invent my own algorithms, so maybe, developed a stronger sense of coding than other people using Visual Basic. Also, though, I find that a lot of programs are very easy to create from the coding side, and the most important aspect of development is the design-side. For instance, creating an IRC client in Windows is one of the easiest things to do; the hardest part is making a program people will like to use over others; which requires an understanding of the user and the possibilities of interface design more than coding. In the open source world in general and the *nix world also, I see a lot of feats of coding that lead to completely crap applications because they don't care about the user. People are often proud of the coding feats that led them to crap applications. Having a background in Visual Basic gave me a lot of respect for the user-end and user-features of applications.

  79. Re:Shut up DINOSAUR by Anonymous Coward · · Score: 0

    You know, I work with people like you, and you guys really piss people off.
    Why, what he says is true.

    Coding is about the best tool for the job.
    And learning how to code, is learning the data structures and logic that is common among most programming languages.

    In many cases that's C or Perl or C++ (shudder) or Python.

    But sometimes it's Java,

    If you read his story, he didn't dislike Java. He disliked VS, and for good reason. Read what you reply to.

    or C#, or something you would called "new age" or "gay" (yes, I've had co-workers who are 'professionals' call Java such names).
    There will always be zelots.

    I call them powerful and simply use them when I need to.
    But using a visual tool to build apps, a tool that hides the details on what is really happening, doesn't TEACH anyone to code. It makes fast products, but there is little programming involved in tapid development models.

    I also use other tools like C and can hack assembly code onto hardware controllers.
    Good for you, but did you learn to program using an IDE that had drag and drop componets -- where you could make an application without writing a single line of code?

    Your attitude is one of not recognizing that we're just like mechanics,
    We are like mechanics, but do you teach someone to fix a car by showing him arround a shop where automated robots build them?

    we find a tool and a part and get to work until it's "fixed" aka the design and all requirements are met.
    And that it is maintainable, readable, effecient and hopefully bug free... Or as close as we can get to that in the time it takes.

    Don't knock others because they don't want to hand-code 100 GUI elements.
    That wouldn't be the problem -- but using a tool like that to LEARN to code is a huge problem.

    I can create software faster in Java than any other language.
    Without a drag and drop interface? Even faster than VS and clicking on the component, and literally draging it onto the window?

    Java can do almost anything you need it to, and since the late 1990s it has been nearly as fast as C or C++:
    He's not complaining about Java, stop defending it -- he's not attacking it.

    http://www.idiom.com/~zilla/Computer/javaCbenchmar k.html
    Benchmarks are meaningless without what optimiztion flasgs (if any are present) the entire code for the test (repeatability), OS, ect. There are after all three types of lies: lies, damn lies and statistics.

  80. Re:yes, it does rot your brain, or at least habits by afaik_ianal · · Score: 4, Insightful

    While I liked his creativity, it was evident his depth of grasp of the workings of programming were as deep as VS allowed him. Cute screens with cute input buttons and cute input boxes. But nothing in the sense of real code.

    This only demonstrates that Visual Studio is a bad environment for "teaching yourself", not that using Visual Studio is a bad thing in our professional lives. VS has fully fledged languages behind it (nothing stopping you from compiling/linking from the command-line...). There is nothing about VS that intrinsically limits the depth of one's understanding.

    For Professionals: I think this point from the professional's perspective is really well covered by Andy Hunt and David Thomas in Section 35 of "The Pragmatic Programmer": "Evil Wizards".

    In summary: If you use code generated by wizards and other similar tools without understanding what that code does, you are going to run into problems. Wizards and generators are tools that can increase your productivity (why bother writing code a computer can write for you?), but if you don't understand what they're doing, then you are going to run into troubles. Finally, their tip: "Don't use wizard code you don't understand".

    For students: Regardless of the language/environment that kids start on, they need someone to guide them. They need to be taught the underlying concepts behind functions and classes. They need to be taught a few fundamental design concepts. They need to be taught some of the common idioms. If they aren't then how can they get it right? For the VS learners, it will be the flashy wizard generated dialogs that do very little, and ungracefully. For the console/C learners, it will be the almost-as-flashy text based menus (generated with reams of printfs), that do very little, and ungracefully.

    Yeah - I originally learnt to program (in Turbo Pascal and C) in a self-directed manner, and I had the same problem as the kid you talk about. It wasn't until many years later at Uni, that I finally learnt to program.

  81. Re:yes, it does rot your brain, or at least habits by robertjw · · Score: 5, Funny

    I tried to turn him on to coding, but he went out and got Visual Studio, and went off on his own. He came back and proudly demonstrated his various creations.

    Shoulda started with Perl. Everyone knows Perl is the best language for learning quality programming skills.

  82. Notepad! by Zaphod+B · · Score: 1

    I always use Microsoft products to code... in fact, I created a shortcut to Notepad on my desktop!

    --
    Zaphod B
    When duplication is outlawed, only outlaws will have /bin/cp
  83. This is why arts majors shouldn't code. by Anonymous Coward · · Score: 0

    What an IDIOTIC rant! This guy apparently has never written anything more complicated than "Hello World" in either C# or Java. As they say, it's a bad craftsman who blames his tools.

  84. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Come on...Dont give such lame excuses for poor programming....

  85. Not my experience. by callipygian-showsyst · · Score: 2, Insightful
    I used to be a Mac and Next developer. Not any more. Visual Studio .NET 2005 (I'm running the Release Candidate), and the C# language are by far the best programming environment I've ever used. And I've used them all, from Pick, to Squeak/Smalltalk, to PL/I on IBM Mainframes, to Cocoa/Objective-C, to Java.


    I don't program in anything else anymore, unless I have to!


    The Mac tools are especially horrible. All XCODE is, is a poorly integrated GUI slapped on top of GNU tools. And heaven help you if one of your binary "NIB" files gets corrupted. You're SOL.

    1. Re:Not my experience. by HuguesT · · Score: 1

      The sad part of this is that the NeXT tools of 1991 or thereabouts are almost the same as what XCode is today.

      In 1991 what NeXT had was quite revolutionary, but it is no longer.

  86. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    There's a lot of positives to allow folks into the arena of programming via "RAD" development tools, which use the Object.Property Method paradigm of development!

    It's shorter code, for example, & probably VERY highly optimized for whatever operation it performs.

    I.E.-> The new .NET FileSystem object is simpler to use than doing a Open File for Input As #1 type older VB code for file I/O...

    (& iirc, the WHOLE idea of tools like VB &/or Access coding, was to allow & introduce coding in Windows easily for nearly anyone to get into - & it took off like a bullet too, I remember it well!)

    See, I come from the "olden days" of drop-down &/or procedural programming in the 1980's... it was "OK" but I do have to admit I like "RAD" tools FAR better!

    (Which I still like the best on the latter, & still tend to code procedurally more than using Objects & Classes, unless a project is going to be 1/2 million lines or more... then you most likely NEED classes &/or objects, so the code can be 'reused', but truly imo? This RARELY happens! You can try your ass off, to build a company a unique & reuseable API for data access for instance? But, many times, it ends up being FAR too application specific, at least on projects like that I have been on (20 so far to date))

    I like what I have seen in modern "RAD" & Object Oriented toolsets though. No doubt about it!

    Today's stuff, imo, just beats the HELL out of using "old-school" tools like Borland TP 5.0-7.x, Borland C++ 3.x, & ESPECIALLY TASM/MASM!

    I would NEVER consider building Win32 code in MASM, that is for SURE!

    Even the later stuff, like Borland C++/Borland Pascal for Windows resource studios & linking their interface items to functions & procedures, sucked compared to today's lay it on a template screen (like VB &/or Delphi do) & code it is FAR easier imo & works (the bottom-line).

    BUT, there is a LOT to be said for folks that come out of "classically trained" schooling, because they understand it all @ far 'lower levels' (purely relative term here)...

    E.G.-> Learning to code in MASM 5.0 is where I started, & it taught me much about how registers work on Intel CPU's & the base instruction sets being used in Intel ASM code, especially during 'dumps' when you have to debug & view what state the CPU was in when you 'abend/err'.

    Personally? I think that courses like "Data Structures" gives you the MOST 'bang for the buck' out there, as far as coursework.

    Why??

    After you've taken the 101 level coursework, this is the stuff past the basics (like how to open a file, read-write, close it, etc. & how to use variables & what is scope etc. stuff)...

    In Data Structures, you start to see how various algorithms for sorts, networking (I use this term loosely, mostly shortest path/shortest route type stuff you could use in for instance logistics work), trees, queues, lists, & more:

    IMO, that is the TRULY "great stuff" to learn, for ANY computer programmer.

    APK

    P.S.=> I guess, imo, it never hurts to start old-school using the older stuff &/or methods! It gives you an appreciation for what's REALLY going on (Assembler does the most here imo), & also how NICE the modern tools are... wasting time building an interface & Window from scratch? I'd rather spend time building functions & procs to drive that Window & its child window controls!

    New "RAD" tools give you that extra time gained in NOT having to build the interface from scratch & the whole damn program is a giant CASE statement (bad old C coding in Windows memories here)! No questions asked...

    (Thing is? You won't see that anymore imo in schools... I would hazard a guess that on my 2nd degree (straight comp. sci. after an MIS one I gained 4 years prior to it), I caught the "last wave" of that as far as toolsets being used... At least for DOS/Win3.x to Win9x-NT 3.5x & later Os')... apk

  87. You've got it backwards by javacowboy · · Score: 3, Insightful

    I don't mean to troll or even to necessarily disagree with the submitter, but I have another perspective to offer.

    Does Visual Studio rot the brain, or is Visual Studio designed for less l337 programmers? (I don't want to say that it's for rotten brains :) )

    Microsoft's strategy is to provide easy to use development tools (ex VisualBasic) and innondate the world with cheap MCSE's trained in 6 month courses to use them. Microsoft can then go to PHBs and tell them their solutions don't require them to hire expensive developers, just these cheaper code monkey MCSE's. I'm not saying all or even most MCSE's are idiots, but from what I read this is a major part of Microsoft's sales pitch.

    This seems to go hand in hand with one of the submitter's conclusions, which is that these tools promote or even enforce rapid application development at the expense of robust maintainable applications.

    --
    This space left intentionally blank.
    1. Re:You've got it backwards by Anonymous Coward · · Score: 0

      l337 pr0grammers know how to spe|| inundate. |nund473!

  88. Leave this junk for blogs by Anonymous Coward · · Score: 0

    Blah blah blah...

    This kind of editorial crap is for blogs, not news sites. Frankly I think articles like this detract from Slashdot's integrity as a news source.

  89. Don't Agree by mymaxx · · Score: 1

    I use Visual Studio for coding and find that it does not rot the brain, when used properly. I still code just as well and can move over to Eclipse and generate high quality code without any readjusting. Visual Studio is great for rapid protyping as well as good code design. That requires great power and with great power, comes...responsibility. It is not the responsibility of the tool to ensure that you code well, that is your job. You don't have to use Visual Studio's rapid prototyping features.

  90. abstract by Sebastopol · · Score: 1

    Somebody please show Petzold how to write an abstract.

    --
    https://www.accountkiller.com/removal-requested
  91. solution vs application by Khashishi · · Score: 1

    If you are just trying to solve a problem once and get the answer, it makes far more sense to use the "quickest and easiest path to a working solution". Interpreted languages like Matlab or graphical programming Labview are great for this. You can throw away the code when you are done, and it doesn't matter if the code sucks.

    If you are building an application--that has to be maintained. That will be run over and over by many people, so runtime efficiency is more noticable. When you pass off the code to someone else, someone else has to understand it.

    I am an engineer, not a software engineer, so most of my code falls under the first category.

  92. Brain rot is a personal problem by TheBracket · · Score: 1
    I program in Visual Studio many hours a week, and I don't think it has had a negative effect on me. IntelliSense is very handy, even when doing top-down design (it works wonderfully on the .NET Framework, and I'm not going to expect it to guess a method name I haven't written yet - but it's never replaced my typing without my consent!), but it's easy to ignore if it isn't useful (you can even switch it off, I believe, although I've never wanted to do so). The autogenerated code is handy for quick projects, and it is easy enough to not use it when I want something more sophisticated. In other words: VS is an IDE like most others; it comes with a bunch of features that you are free to use or not use.

    The junior programmer who works under me has a similar opinion: Visual Studio is a great tool, very helpful (especially for those times you need to produce something in a hurry), and easy enough to ignore when it isn't helpful.

    I also do a fair amount of programming under FreeBSD, with vim as an editor, and any number of languages (C, C++, PHP, Python, Perl...). Vim has a lot of great productivity features, although I sometimes miss Intellisense. Overall, while it makes me think about what I'm doing, I don't find the cerebral effort much more or less than when I'm in Visual Studio (Intellisense for solving the momentary "what was that method called?" moments aside). I still have to understand what I'm writing, still need to produce API documentation, etc.

    Onto the subject line: I don't think your tools rot your brain, unless you were suffering from rot anyway and overuse the tools as a crutch (similar to "cookbook programmers" who know recipes but don't understand what they do). These same "programmers" tend to be the same ones who blame their current tool of choice when it doesn't have a wizard for the exact implementation they need.

    --
    Lead developer, http://wisptools.net
  93. Re:yes, it does rot your brain, or at least habits by 2short · · Score: 5, Insightful

    "While I liked his creativity, it was evident his depth of grasp of the workings of programming were as deep as VS allowed him. Cute screens with cute input buttons and cute input boxes. But nothing in the sense of real code."

    As deep as VS "allowed" him? WTF are you talking about? I've used VS every workday for 7 years. I gather it has some sort of functions for making cute screens with buttons on them? I wouldn't know, I've never written a gui app.

    He's a kid. He wanted to make something he thought was cool; and he did, good for him. It makes sense he went for the drag-together an EZ-GUI stuff; He made something that looked cool and didn't do much. I'm guessing "looks cool" was his design target.

    Heck, I first got into programing (time to date myself) writing BASIC programs to draw maps of D&D dungeons. 99% of what I learned in my first months of coding was the details of the particular extended ascii set my computer suported. I learned useless trivia and wrote lousy code in pusuit of eye-candy. But eventually, I wanted to move a marker around the dungeon, then I wanted to keep track of what was in different rooms. Today I make a fairly nice living writing complex C++ without a bit of eye-candy anywhere near it.

    In short, leave the kid alone. Soon enough he'll want those cute buttons to do real stuff. If adults can be kept from eliminating his fun by insisting that "real" programs can't look good, he'll be a crackerjack coder in no time.

  94. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Are you nuts?! Since he's doing game programming, and DirectX is not cross platform, it's vital he does it on Windows. Ok, sure he could do OpenGL, but frankly if he wants to come out with a good base to build a career out of in game programming, he better know the groundings of DirectX.

    So IMO, since OpenGL and DirectX can run on Windows, but only OpenGL can run on Linux, it would be a better investment of time and money to use Windows throughout.

  95. Breakpoint and resume coding by pv2b · · Score: 4, Interesting

    ... you mean where you modify code at runtime while running it inside a debugger?

    Get on Mac OS X, and start coding using Xcode. You may drool once you find the Fix & Continue (ZeroLink) feature. :-)

    1. Re:Breakpoint and resume coding by Alien+Being · · Score: 1

      "You may drool once you find the Fix & Continue (ZeroLink) feature"

      Business Basic has had that feature for 35 years.

    2. Re:Breakpoint and resume coding by Mr2001 · · Score: 1

      Edit & Continue is back in Visual Studio 2005.. for both VB.NET and C#, I believe.

      --
      Visual IRC: Fast. Powerful. Free.
    3. Re:Breakpoint and resume coding by jcr · · Score: 1

      You may drool once you find the Fix & Continue (ZeroLink) feature. :-)

      ???

      Can't Visual Studio do that?

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    4. Re:Breakpoint and resume coding by dancpsu · · Score: 1

      Great, now do that for a compiled language and you can catch up to Apple.

      --
      "Scientists don't change their minds, they just die." -- Max Planck
    5. Re:Breakpoint and resume coding by TrancePhreak · · Score: 4, Informative

      Visual Studio 6 had that for C/C++, Apple was playing catch up too!

      --

      -]Phreak Out[-
    6. Re:Breakpoint and resume coding by Anonymous Coward · · Score: 0

      You make the mistake of thinking that Apple users actually give a crap about these features, except when they think they can lord them over Windows users.

      The truth is the whole lot of them would be happy sieg heiling the Apple logo while running ThinkC on System 6.

    7. Re:Breakpoint and resume coding by sjelkjd · · Score: 1

      Or he could use VS.NET 2005 and have edit and continue for VB:
      http://blogs.msdn.com/somasegar/archive/2004/10/15 /242853.aspx

    8. Re:Breakpoint and resume coding by Anonymous Coward · · Score: 0

      How does this cope with __LINE__, specifically this issue:

      http://support.microsoft.com/default.aspx?scid=kb; [LN];Q199057

      If you don't get why this is a problem, you're allowed to create unique variable names using the current line number of the file you're editing in C/C++ and this gets out of sync if you can edit arbitrary lines like this.

    9. Re:Breakpoint and resume coding by cthrall · · Score: 1

      VC6++ had that.

      In VS2005, sometimes if you get an exception you can rewind to the line before the exception, fix it (if possible) and continue debugging.

    10. Re:Breakpoint and resume coding by DavidHumus · · Score: 1

      So you guys can now do what I could do 30 years ago in APL.
      Hey, I guess you're starting to catch up!

    11. Re:Breakpoint and resume coding by Anonymous Coward · · Score: 1, Interesting

      So you guys can now do what I could do 30 years ago in APL.
      Hey, I guess you're starting to catch up!


      Yeah, we had this like three levels up the thread.
      Edit/resume in a COMPILED language. 30 years ago you interpreted APL and that's why you had edit/continue.

    12. Re:Breakpoint and resume coding by Mr2001 · · Score: 1

      What, you think VB.NET and C# are interpreted languages? Funny.

      --
      Visual IRC: Fast. Powerful. Free.
    13. Re:Breakpoint and resume coding by lasse_2 · · Score: 1

      Possible in all Visual Studios since 10 years now. Do Apple ever invent anything new?

    14. Re:Breakpoint and resume coding by Tim+C · · Score: 1

      You can do that in Eclipse and JBuilder (and probably most other Java IDEs) in most circumstances. You can't do it when your code is deployed as a war file or similarly out of the control of the IDE, but otherwise it works just fine.

    15. Re:Breakpoint and resume coding by Anonymous Coward · · Score: 0

      There is a difference between java (code running in a vm) and C.

      And, btw, NeXT promised fix and contine since NeXTstep 3.3, and never really delivered it.

      And the one in Xcode is non-functional/unreliable on big projects. At least on mine.

    16. Re:Breakpoint and resume coding by Anonymous Coward · · Score: 0

      Turbo Pascal 6.0 also had this.

    17. Re:Breakpoint and resume coding by aralin · · Score: 1
      ... you mean where you modify code at runtime while running it inside a debugger?

      With PERL you don't even need to be in a debugger...

      --
      If programs would be read like poetry, most programmers would be Vogons.
    18. Re:Breakpoint and resume coding by Anonymous Coward · · Score: 0

      Just-in-time-compiled languages are frequently referred to as interpreted languages. I believe it to be a reasonable definition, since JIT compilation can be seen as a performance optimisation to 'normal' interpretation.

    19. Re:Breakpoint and resume coding by Mr2001 · · Score: 1

      Just-in-time-compiled languages are frequently referred to as interpreted languages. I believe it to be a reasonable definition, since JIT compilation can be seen as a performance optimisation to 'normal' interpretation.

      Of course, it can also be seen as a compiler complexity optimization to 'normal' compilation. Look at GCC - many front ends for different languages produce unified intermediate code that can be optimized and processed by a platform-specific back end to produce native machine code. If the intermediate code were saved to disk and then compiled later, you'd have something very much like .NET.

      Furthermore, since we're talking about Edit & Continue, the difference between normal compilation and JIT compilation is irrelevant. Supporting a feature like E&C in a true interpreted language would be trivial, since you're directly interpreting the source code. Changes to a C# program, however, are compiled to IL, which is then loaded into memory to replace the original IL, and JIT compiled when it's called - not much different from compiling it directly to machine code and then loading that into memory.

      --
      Visual IRC: Fast. Powerful. Free.
    20. Re:Breakpoint and resume coding by pv2b · · Score: 1

      Ok, I'm replying to myself, since I can't really single out any of the followups to my post earlier.

      Of course, I don't have much to compare to, coming from vi, make, and gcc on Linux. I haven't ever coded anything on Windows, so I couldn't compare against that, but I assumed from the grandparent that Visual Studio didn't have this feature. Oh well, good for Visual Studio. :-)

      (Then again, I never said Visual Studio didn't have that feature, nor that Xcode was the only IDE with this feature.)

      I still thought Fix and Continue was pretty slick when I started learning to code on Mac OS X. (Of course, I knew of similar functionality back on the ooold days when I still "coded" in QBASIC.EXE, but that was for an interpreted language.)

      Just goes to show how much gdb, make and vi sucks compared to a proper IDE, no? (At least in this respect.) :-)

    21. Re:Breakpoint and resume coding by bar-agent · · Score: 1

      you mean where you modify code at runtime while running it inside a debugger

      Um, yeah. Y'know, honestly, that kind of thing creeps me out. I have no idea what is going on, it is witchery, it confuses and enrages me!

      It's unnatur'l, heathen wickedness, you mark my words, and no good'll come of't.

      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
  96. As opposed to what? WSAD? by ricoder · · Score: 1

    Maybe its only because I'm coming at this from the opposite direction that I think this post shows an utter lack of comprehension about what programming really is.

    If you're looking for VS to provide you with a single text file that is unreadable and unformatted and un-(er...)-colorcoded, then go ahead and open the .vb or .cs files in notepad. VS is designed to allow developers to develop OO, event driven applications without FORCING them to do all the coding for the underlying connections, interfaces and networking.

    So, while we're discussing being FORCED to do things, lets take a look at it for what it is. Anyone who has actually used VS for more than a day, or done anything with it beyond a cursory Hello World app with a button would know that while you CAN certainly click "new form" and drag a bunch of buttons onto it, and have it work, no code necessary, you can also custom write the window handler classes, subclass those darned buttons and build 'em all yourself the hard way. You CAN also drag a little DB icon onto your app, fill in the blanks, and have a ready-made SQL connector...or you CAN write that whole darned thing yourself, provided you need the control over it that is only provided if you do actually write it yourself. So, it may appear that you are being FORCED to do things the easy (or inferred BAD) way, you are not. You are merely being presented with an environment that will allow you to quickly do tasks that are often times very generic and overly-complicated for what they actually do. Continuing on that line of thinking, it makes doing 10 minute proof of concept work very simple and can lead, in the right environment, to time saved. Petzold could have told you that.

    By comparrison, I was forced to use WSAD to do a distributed app in Java. Yep, I was a fish out of water. I may know ANSI C, C++, C#, VB, VB.Net, ASP, JavaScript, Assembly...I love me...Pascal, Prolog, and some other archaic crap, but I don't know Java. The interface seemed clumsy and crashed often. The code seemed overly compicated in places that should have been easy. Generic REQUIRED interfaces for beans were not auto-generated...which sucked for a guy with no clue what was going on. In the end, I read a book or two, sucked it up, looked at my laptop running VS and cried, and then got down to working with the tool I was provided. I still think WSAD is a complete joke when compared to VS.NET, but it didn't make my code suck...and it didn't make me a sucky programmer.

    Point? There are places in the 'beans' I wrote that are most certainly not to standard (and boy, I KNOW how Java standards are worshipped from my experience)...that's my fault, if I could do it over they would be. However, where the rubber hits the road, so-to-speak, where the algorithms that REALLY ARE THE APPLICATION live, how THOSE are written...well, they are IMHO, quite elegant. That's not because of WSAD either...that's because I've been coding since I was 11...on a commodore vic 20...in BASIC...which is not OO...which may have taught me bad techniques.

    --
    Pluralitas non est ponenda sine neccesitate
  97. Two windows at once in VS ? by tabbser · · Score: 1

    Last time I looked at VS it was impossible to open two code windows on the screen at once and cut and paste code between them.

    That would be high on my list of things to need. Oh, and I don't care about drag n drool interfaces.

    1. Re:Two windows at once in VS ? by Anonymous Coward · · Score: 0

      There are 2 ways of doing this REALLY easily. With the tabbed interface you just drag one of the tabs to another part of the main window. You can then have two tabs at once. Or you can turn off the tabbed enviroment and use old skool MDI (you can do that in options).

      How about not complaining about stuff you don't understand?

    2. Re:Two windows at once in VS ? by Danga · · Score: 1

      Last time I looked at VS it was impossible to open two code windows on the screen at once and cut and paste code between them.

      It must have been a while since you have looked at VS but doing just what you mention is definitely supported and easy to do. With the tabbed interface all you have to do is drag the tab to another area in the main window, non-tabbed I don't know how to do it. Do you complain often about things that you do absolutely no research on? Come on now at least make an attempt at verifying what you are complaining about is truly an issue.

      --
      Hey, there is only one Return and it's not of the King, it's of the Jedi.
  98. it's good to see... by idlake · · Score: 1
    It's good to see that Windows programmers are thinking about this sort of thing. However, their sense of history is a little lacking.
    IntelliSense is a technology that is inevitable. If Microsoft hadn't done it, somebody else would have.

    In fact, someone else did it: Emacs, Zmacs, and Hemlock had this feature already about 20 years ago. Unlike IntelliSense, the information was displayed unobtrusively in the status line, and you got completion only if you asked for it with tabs. Unlike IntelliSense, the information was also based on the actually loaded code (at least when writing Lisp code), not some separate database that may be out of date and may contain irrelevant data. But maybe Microsoft will "invent" that in another 20 years, too.
  99. Riiight... by Haacked · · Score: 1

    Right. VS.NET rots your brain. So does programming in C++. It hides what's really going on under the hood behind all these "abstractions". Your code quality suffers in the end with all this bloated code. When is everyone going to learn the lesson and go back to assembly?

  100. Re:yes, it does rot your brain, or at least habits by tom8658 · · Score: 3, Interesting

    This year our computer science department switched to Visual Studio, and I can say without qualms that they couldn't have made a worse decision. Now we are forced to use VS.NET because the professor can't run the programs to grade it without .vcproj and .sln files.

    Fortunately, this is not my first foray into C/C++, and I am quite used to writing programs in vim and compiling on the command line at my job, so usually I just import the source into VS.NET and compile to make sure it doesn't produce any strange microsoft errors (my favourite is the crap about "unable to verify assembly source", I'm looking right at the assembly source, why can't I verify it myself?). However, this does not bode well for my classmates. For one, the cost of using linux/bsd is now prohibitive: it's extremely inconvenient to haul ass down to the lab every week just to import some source.

    It seems like the focus, even in obtaining a cs degree, is now speed of implementation instead of speed of code. I realize that this is common business practice in the real world, but do we really want all of our new cs graduates to be a horde of IDE-dependant windows programmers? I know that I dont look forward to working in that kind of environment, or running software produced in it either.

  101. this is the lamest slashdot article ever by the_mighty_cornhole · · Score: 1

    Prior to my present year of C#, I was writing apps in Eclipse for 2 years. VS.NET blows Eclipse out of the water. End of story. If you don't know why, consider yourself a noob.

  102. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Fuck off, Alecstaar. You haven't got a clue what you're talking about.

  103. Agreed about ide's and using gui's by Billly+Gates · · Score: 1

    Years ago I took a non credited course in java programming. I was thrown off and confused. Why all the "."'s? What is public and private and why all the redundancy is needed for a simple hello world?

    I learned how to program with MSBasic and I played around with vb3 and vb4. I could type the code but not understand anything. I eventually witbdrawn from the course.

    Later I learned perl scripting using simple functions and I bought a college book to retry programming "C++ How to program by Dietel & Dietel".

    The book was college level and taught you to write code and how the computer would read and use it. Yes it was big with lots and lots of explanations for everything. By the time I got to chapter 6 and chapter 7 I was introduced to object oriented programming. After that I GOT IT! Java is now making sense and I know what the dots are for and what public and private is and how the api's work.

    The point was I needed to learn how to code and think like the computer. Ide's are bad to learn in but not bad to use. I still have not totally finished that book on C++ and I am contemplating about buying the newer edition for C# or Java to learn more about its advanced objected oriented features as well as hot to implement a structure.

    A good book or a college course is needed to be a good programmer. Not a cute program.

  104. Re:yes, it does rot your brain, or at least habits by rolfwind · · Score: 1

    While I agree, it doesn't help that one of the more prolific writers for the Windows Platforms give bad advice right off the bat (at least when I started Windows coding with his Windows book back in '99) - such as using Hungarian notation.

  105. Re:yes, it does rot your brain, or at least habits by CyricZ · · Score: 0, Troll

    Let it cultivate. That approach will only go so far. Once applications become moderately complex, that whole methodology of programming collapses. Frankly, I wouldn't mind if it took with it the people who fell for it. They probably shouldn't be working as programmers anyways.

    --
    Cyric Zndovzny at your service.
  106. Re:yes, it does rot your brain, or at least habits by jacksonj04 · · Score: 1

    I disagree. VS makes putting together applications (Some of which are seriously powerful) very easy. The fact it is easy to do doesn't make it any less useful at the end.

    Furniture from IKEA comes flat-packed with an alan key, and whilst an IKEA desk may not be a handmade mahogany desk with glass top, it is still a flat surface to work on. Does the fact you put it together out of pre-assembled components make it any less of a desk?

    Once you've put together an IKEA desk there's no way you'd be stupid enough to manufacture an entire desk by yourself. Let someone else do the donkey work. And if the IKEA desk can't do exactly what you want you can develop skills to make your own.

    Back to computers, I see no reason why I should spend hours wrestling with inane config files in Linux when a GUI in Windows or OSX can do the same thing in a few clicks. If I wanted to do something obscure then yes, I am willing to spend time to 'break the mould', but until then I'm not going to waste my energy. Likewise with VS, if all you want to do is create an application using the prebuilt components then what is the problem? If you want to break the mould, learn to code.

    --
    How many people can read hex if only you and dead people can read hex?
  107. Re:yes, it does rot your brain, or at least habits by Sebastopol · · Score: 5, Insightful

    I think that's a dangerous culture to cultivate in an IT universe.

    Oh Jeez, get over yourself.

    You've completely ignored the subtleties of a choice made by an intelligent mind when presented with different ways to do things. I find it fascinating he went right to the GUI and started developing code that way. Instead, you're peeved he didn't start figuring out what include files to use to do a printf() to a console.

    Maybe the path he blazes will be the next paradigm. History is full of people making huge leaps in technology by finding easier ways to do things that interested them, but were against the norm.

    Viewed from this perspective, I think you should step off and let him learn what he wants how he wants, and not in a way that pleases you.

    --
    https://www.accountkiller.com/removal-requested
  108. IDE by tekue · · Score: 1

    I can't imagine working in a standard text editor anymore. I've used Edit+ for a few years, liked it a lot, but it doesn't stand a chance against Zend Studio (my IDE of choice). Zend is by no means perfect, but having the names auto-completed and parameters reminded is a true bliss for someone with memory as bad as mine.

    1. Re:IDE by paranoidgeek · · Score: 1

      I havent RTFA but what this is what i gather from the paragraph and complaints i hear from those who dont like VS.

      Visual editors are causing brain rot not because they do cool things like regexs search/replaces, etc but because they are more of a "point and click" design enviroment.
      So rather than starting with 'printf("hello world!\n");' they are starting with drawing forms, adding buttons, naming buttons, and other things without any understanding of coding ( with words ).

      So when they get round to adding code to the buttons and forms they have no idea what to do.

      --
      Lima India November Uniform X-ray
  109. Counterpoints by boatboy · · Score: 4, Insightful

    First, none of the features he complains about are unique to Visual Studio- intellisense, visual designers, code generation all have counterparts in other code editors.

    Second, any code editor is a tool. In the end, they are a fancy way to create text files to compile into binary. There are people who use VS to write code without understanding what it's doing behind the scenes, just like there are people who drive without knowing how an internal combustion engine works.

    Finally, there are people who hand-write all their code, waste alot of time, and still write bad code.

    1. Re:Counterpoints by Anonymous Coward · · Score: 0

      Amen...

    2. Re:Counterpoints by soulhuntre · · Score: 1

      Hell if Google had put out Visual Studio half the people who hate it would think it was the most "innovative" thing ever built.

      This is all also interesting in light of the act that Rails, one of the current Open Source darlings on Slashdot, is one of the most "generate your code for you" tools ever built.

      In fact, look at how many peopel use Perl to get their hands on CPAN - making SURE they depend on tens of thousands of lines of code they will never look at or understand.

      (thats "innovative" in quotes because when Google does it it's an innovation (ajax, gmail) but if MS does it it's derivative because someone on earth did a bad version of it once)

      --
      --> Fight tyranny and repression.... read /. at -1!
  110. Oh god, don't remind me. by Anonymous Coward · · Score: 0

    I had to work with one of these trade school guys. He had built VB (forms) database interfaces and web apps (dreamweaver) in school for some projects. As the (then only) Tech guy, I sat in on the interview, and commented to the boss afterwards that I had seen nothing to convince me that this guy was qualified.

    The guy couldn't remember from one day to the next how to upload webpages to our server. It turned out to be a good thing too, as he had a very broken understanding of html, and would try to do stupid, unnescesary things in PHP.

  111. Bad Visual Studio effects by Tontoman · · Score: 1
    What I dislike about Visual Studio is its
    1. Configuration management obscurity. The format of the properties and make file tend to "invite" programmers to click into a GUI panel, and make a few keystrokes to change something. The make file is often in an format that defies analysis. And upgraded tools often cannot read the old version of the files accurately.
    2. Binary resources. In a group setting, there is always somebody who converts the resources to binary format, and makes some change. Then, for the rest of the project, you are stuck with a large binary file that defies source control.
    3. Insistence on putting variables into rigid format lest the project fails to load.
    4. Raises expectation of managers, with the ease of demoing the creation of "hello world" application. Then, dashes the hopes when the Manager finds that the default behavior of generated code is actually either brain-dead or must be completely re-factored to fulfill requirements.
  112. Re:Does it? Not sure. But from experience I can sa by shadowmatter · · Score: 4, Insightful
    Exactly; if a person needs an IDE in order to understand the code, then that person is not a programmer, they are an IDE operator.

    IDEs can definitely help you understand the code faster, however. Take Eclipse, for example:

    • If I see a class name I don't recognize, I can control-click to go to the class definition. If the source is not attached, I at least get a view of all the method signatures.
    • If my code invokes a method I don't recognize, I can hover the mouse over the method and the Javadoc description of the method will pop up, telling me what the method does, what the arguments are for, and what the return value is.
    • If I'm navigating through someone else's class hierarchy, by selecting the class name and pressing Ctrl+T I can see all interfaces this class implements, and its superclasses from which it inherits methods. If I hit Ctrl+T again, I can see all classes that inherit from this class, and what classes inherit from them, etc.
    • If I hot Ctrl+O, I can see all the methods callable from my current cursor position. I can also see all variables within scope.


    Granted, I could understand the code without an IDE, but it's going to take me longer. I don't know if you were being sarcastic (I'm a little tired, so not so mentally keen), but people who use IDEs should not be written off as the equivalent of assembly line operators...

    - shadowmatter
  113. same problem different them--Visual Studio by shareme · · Score: 1

    Its the smae over any MS programming language and MS IDE.. Go to any college or university using that MS IDE product.. Now check any basic proejct for code validating user input..you will not find any ..do you know why? Lets see the laypersons terms.. Imagine trying to learn calculus with a computer or calculator first instead of pencil and paper.. Sure computer saves time but the basic foudnation skills are lost if introduced too early..

    --
    Fred Grott(aka shareme) http://mobilebytes.wordpress.com
  114. maybe not so much.... by conJunk · · Score: 1

    it's not too hard to imagine kids getting REALLY bored with making meaningless code that doesn't look like the apps they are accustomed to running

    imagine any other skill that takes *lots* of time and effort to develop... it's all about maintaining the sense of awe that got the kid interested in the first place

    when you learn wood working, you don't start out making beautiful, functional art like cabinets, you make a duck, from a pattern, out of a sing block. a good teacher makes sure the student is impressed with his abilities to make something out of nothing, and as the kid gets better, his work eventualy trends closer to the masterpieces that inspired him in the first place...

    it's really the same with coding... the first time i had text interface that said one thing if given x, and another if given y, (i was 7, i think), i was thriled. when i was 14 and using menu bars to change the color of rectangles on the screen, i was still happy...

    i think kids will remain interested if they are given tasks that make them feel like they are learning... no one really approaches learning expecting to be a rock star on the first go

  115. Correct Programming by Jekler · · Score: 1

    If you're programming with the right mindset and correct methodology, Visual Studio no more rots your brain than your oven makes you forget how to cook.

    Programming is all about the programmer's choices. When you confront a problem, you design a solution. The IDE (in this case Visual Studio) is meant to provide a number of easy ways to implement your solution. It shouldn't be controlling your code directly, you control how the IDE controls your code.

    Whenever I use a new IDE, I probably spend more initial time setting options than writing code. It's the programmer's job to make the IDE work the way they need it to. If you're using it right, the IDE should pump out code exactly the way you intend it to.

    Programming and Tool Usage are two seperate disciplines (although deeply intertwined). Visual Studio doesn't make a programmer stupid or make a programmer write bad code, a lack of knowledge about the tool at hand makes the person write bad code. I've witnessed just as many terrible JavaScripts written in a text editor as I've seen bad applications pumped out of Visual Studio.

    When programming in C++, I use MSVC, because it's simply the most capable IDE/compiler available for developing applications for the Win32 platform. When I use it, I don't magically forget everything about data structures, algorithms, or object-orientation. When I've finished a program, every single line of code is precisely the way I intended it to be. If it weren't, then I wouldn't be programming I'd be haphazardly hacking my way to an end.

  116. oh so now they see it? by mrsbrisby · · Score: 2, Insightful

    There is no way anyone can wrap my head around 60,000 equally accessible and - as far as the computer is concerned- equally relevant system calls.

    With technologies like "Intellisense" (or the EMACS scratch buffer, or your other local system equivilent- no it wasn't invented here fanboys), you don't have to.

    In contrast, POSIX has relatively few APIs layered underneither relatively few more. Across all the "common" APIs you'll find on a modern Linux system, you'll probably find just about as many as you'll find on Windows.

    However, you'll note that many POSIX programmers refuse to use things like Intellisense (or whathaveyou) for these purposes- not just because they rot the brain (that's something we find out the hard way as well) but because it simply isn't necessary(!)

    I'm almost positive GNOME offers perfectly usable functions somewhere that allow me to put up struts, but I have never used them. Oh I think I went looking for them once, but I didn't look long because once I found GDK_WINDOW_XID() I was back in X11 land.

    Because my knowledge is layered as well, this means that building my application for a platform or environment I don't normally target means that I don't have to learn everything at once. I'm happy to use the normal file I/O operations I use everywhere when I cannot quite figure out the glib way to do it, and so it is I should!

    The win32 development model doesn't make this so easy- APIs are all at the same level (do I want GetDriveType or SetupDlGetDeviceRegistryProperty?), change meaning (e.g. MoveFile working differently on WinME and Win2K), and sometimes completely defying documentation (SqlDataReader.GetChar?) and so on. Worse still, by making all API available equally how is the programmer to function?

    As a result, methodologies that I have used for several decades now are completely inappropriate- I may be able to write a ActiveX control in C, but I certainly would never want to! Not only will Windows dictate your resource files, dialog boxes, and programming structure, but it'll also dictate your programming language as well!

    Enough is enough!

    There are plenty of tasks that are a pleasure to code in perl. Others that Objective-C makes for more fun. Still others I might find a use for Java or even C#, and yet I haven't found any on their own merits that would demand C++ other than the IMAPI* family of interfaces is grossly inaccessible to any other language.

    The consequences are that I keep win32 development to the bare minimum and do not accept any win32 development jobs- and the result? I'm writing more code than I ever did before.

    I'd like to ask anyone who actually enjoys writing software on Windows to tell me their secret. The development tools are lacking, and the APIs are daunting. I dare say the Win32 development environment is the absolute worst ever, so I tenatively question anyone who says otherwise: Have you ever used anything else? (Seriously. Take 30 minutes and write kiosk software in Objective-C and XCode. Take another 30 to see how good ol' GNUMakefiles can improve your life. It's absolutely amazing Win32 developers that see my methods to understand that they can work on sources instead of processes)

  117. Re:yes, it does rot your brain, or at least habits by Hiro+Antagonist · · Score: 3, Insightful

    The problem with this approach is that it is the same as allowing calculators for students who are learning to add fractions. The calculator is certainly the faster way, and in my professional life, I will likely use a calculator over adding fractions by hand, but when you are learning the fundamentals of mathematics, it is much more important to understand what's going on than it is to simply get the right answer.

    Likewise, Visual Studio is a great way to generate code, and can be a great tool for professionals. But teaching people to program with it is another matter. Visual Studio completely abstracts these beginning programmers from what the program is actually doing, and without and understanding of what's going on under the hood, you aren't much of a programmer.

    --

    --
    I Hit the Karma Cap, and All I Got Was This Lousy .sig.
  118. Slide Rule Vs Calculator. by managedcode · · Score: 1

    UNIX devs still want to use the slide rule and think they are creative. While Windows devs go to the next level and use calculator and create lot more stuff.

    1. Re:Slide Rule Vs Calculator. by Eideewt · · Score: 1

      Sure, and quantity != quality. I'm not going to say that Windows devs never write good software, but neither are UNIX devs doing things the hard way -- just a different way.

  119. It's not the tool, by bmac · · Score: 2, Interesting

    it's the brain using it. A program is only as good as its
    organization. This is why large programs often fail or are
    terribly bug-ridden. The complexity of software grows much
    more than linearly with the number of lines of code. VS.NET
    is an excellent tool for program editing, but it has its
    limits as to the number of files (and, hence, data structures)
    that it can present coherently to the user.

    The challenge for programmers is always how much of the
    design can be visualized in the brain. As much as I like
    VS.NET, it does not allow me in any way to visually represent
    my internal organization of my software, therefore my brain
    is the limiting factor. (AAA, Visio sux and I don't have
    the cash for Canvas X).

    But, hey, what do you think I do on my machine, other than
    read slashdot :-) We programmers are some of the only
    engineers who create our own tools, so stop complaining, and
    get to coding!

    Peace & Blessings,
    bmac

  120. Re:yes, it does rot your brain, or at least habits by bfizzle · · Score: 4, Insightful

    I agree. What you know before using a tool like Visual Studio (C# of course) is what counts in life.

    It is too bad that the /. crowd is critical of the VS suite. For what it is designed for the Visual Studio does a great job at allowing coders with a solid background to develop application quickly and completely. They might not be the most efficient application performance wise, but most computers today have CPU cycles to burn. Any ways C# was designed to develop business applications, not enterprise applications. If you are developing something where CPU cycles and RAM are critical you need to be using C or even assembly.

  121. What now? by malhombre · · Score: 1

    I thought it was the video games that were supposed to rot my brain, so I took up .NET - Just can't win!

  122. Time/Speed = Money by Anonymous Coward · · Score: 0

    ...nuff said

  123. Re:yes, it does rot your brain, or at least habits by tom8658 · · Score: 1

    If used correctly Visual Studio does not "rot your brain" or cause bad habits.

    I agree, I've found myself writing code in Visual Studio on several occasions, but I also write code regularly in vim and compile on the command line (I don't like using X on our webserver), so I'm forced to stay on my toes, as it were. It is extremely convenient to be able to hit one button and compile, then hit another one to debug, but that's as far as I'll use it, and any IDE can do that. Code completion is helpful sometimes when you have a function thats overloaded several times, or really obscure ios::base methods.

    One of my favorite features is the form of auto-completion and showing function prototypes. You don't have to have memorized the entire Win32 API to be a "good" programmer. Documentation comes in many forms and by having the IDE tell you when you open a parenthesis what the function expects as inputs is just another way of looking at the docs.

    I agree in general, especially for the Win32 API because it's confusing as hell. But I usually write GUI apps in QT, and I know it well enough not to need Intellisense.

    The one place where I think that an IDE can cause some harm for new programmers is the "shake-and-bake" method of designing an app where it asks 10 questions and writes the code for you.

    But invariably this is what most programmers will use. An IDE is not a teaching tool, nor is it an acceptable tool to use while teaching. If an IDE must be used, use Dev-C++, which is basically an editor with gcc and gdb tacked on (code completion is present, but the last time I used it, it didn't work).

    Past that, IDEs are a great tool for managing larger programming projects.

    Agreed completely. As long as you understand in general how everything interacts, using an automatically generated makefile won't hurt, and it'll save you a lot of time at very little cost. It's when you don't entirely understand why certain things are included in certain places that you can run into trouble later.

    Also, when we bought VS.NET at work (one of my coworkers really likes the compiler), we put up the two reference posters that ship with it... they took up our whole wall. :)

  124. Re:yes, it does rot your brain, or at least habits by drinkypoo · · Score: 1

    His reaction so far to having to actually write and understand code is that it is stupid.

    That's my reaction too - but not for actual programmers. Just anybody ought to be able to drag stuff together like tinkertoys and get a program out. That's the whole idea of reusable components, right? Eventually anyway.

    Obviously, someone is always going to have to be writing the components, and the best efficiency will result from writing purpose-built code...

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  125. Re:yes, it does rot your brain, or at least habits by jZnat · · Score: 1

    Which might explain why most programming classes use Java to teach computer science concepts and usage. You get both the advantages of basically cross-platform code and object oriented programming that's strict enough not to allow newbie programmer mistakes.

    --
    'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
  126. That's a shame by Pedrito · · Score: 1

    Damn man, sorry you can't enjoy your work anymore. Maybe you ought to try a new field or get a job doing *nix programming.

    Are you aware there's a command-line compiler? Are you aware that forms are dynamically generated as code and thus you can just as dynamically generate your own forms from your own code instead of the designer?

    I frequently dismember the default code generated by VS.NET. When I create a new VS.NET Windows Forms project, it puts my Main() and an initial Form derived class in Form1.cs. The first thing I'll do is create an Application class that has the Main() because I'll probably want to add some application level static methods (for reading config-files, access to the plugin management which I add to almost every major .NET app I write), and so forth. Then I rename Form1.cs to MainForm.cs (assuming I have a main form) and get to work.

    I use the form designer for some form stuff but sometimes I'll add stuff outside the designer. Whatever makes me most productive. VS.NET doesn't FORCE me to do anything. And if you feel FORCED to do anything then it's from a lack of understanding. If anything, moving to VS.NET and C# has made me abotu 10 times more productive than I was doing C++ programming with all the redundant function prototypes in the headers and the jumping through hoops to do anything with a string, especially all that BS conversion back and forth between unicode and non-unicode and what have you just so you could call a method that only accepted one or the other. What a mess.

    Personally, I'm very happy with the state of things. Now instead of spending 90% of time dealing with minutia and details that had little to do with the actual solution I was trying to provide, I spend a 90% of my time producing the solutions and only about 10% or so on minutia.

  127. Re:yes, it does rot your brain, or at least habits by Odocoileus · · Score: 1
    I have written four books on .NET programming -- the fourth is due out on November 2nd -- and anybody who wants to read them is free to do so.

    Is that free as in beer, or free as in....I dunno, whatever the other one is

    --
    ...
  128. That Article is Brain Rot by ActionAL · · Score: 1

    Sorry, but that article is totally brain rot.

    He complains about the top/down or bottom/up approach, but really, YOU CAN do it. Visual Studio just highlights the syntax, but who cares, just keep coding top down.

    And if you want to code bottom/up then you're fine that way too!

    Intellisense is the best thing available, because you can quickly browse the API for objects and functions instantly. AND you will not mispell them because it autocompletes it when you press the Tab key.

    I remember programming old C/C++ in vi on unix. Dude you have to friggin spell/spellcheck/compile/respell objects/functions/variables everywhere that are mispelled. In Visual Studio, that risk has been minimized to almost zero. I can start writing a program and compile it and 99/100 times, I have no spelling mistakes!!!! THANK GOD FOR INTELLISENSE!

  129. Is YOUR software going to be used for 35 years? by EraserMouseMan · · Score: 1

    In my fast paced industry the most important factor is Time-To-Market. Thus, I regret, that most of the time we don't care about extensive design, project management, perfect code.

    This is a perfect fit for Visual Studio. The boss can walk in and shoot an idea at me. In an extremely short amount of time I can have a proof-of-concept prototype that he can take around to the different business units to get buy-in.

    Some people get so anal about thinking that everybody should always use the most pure methods and tools. Sometimes software needs to be written super-quick. And you thank your stars for a sweet interface like Visual Studio to make you look like a genious!

    I've got a computer science degree with a few years in the workforce and am constantly trying to stay in front of the coding methodology curve. But I use OOP/AOP/Web Services, etc. to help me work faster and smarter. Not so I can feel at peace with the 0s and 1s for being a purist.

  130. Re:yes, it does rot your brain, or at least habits by jZnat · · Score: 1

    Now we are forced to use VS.NET because the professor can't run the programs to grade it without .vcproj and .sln files.

    The incompetence of CS teachers lately has surprised me. That reminds me of how one of my CS teachers in the past did not even know what a .bz2 file was when I had sent him a bundle of code. The fact that he fucking teaches usage of compression algorithms, that including block sorting beforehand, should warrant the knowledge of highly-used compression formats.

    At least he knows how to compile Java and C++ programs by hand...

    --
    'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
  131. It's really addictive by dtfinch · · Score: 1

    GUI apps that don't break the mold are very easy to write in VB and VS.NET. I quit the two cold turkey a little over a year ago simply because I wanted to develop more portable skills. It still hurts from time to time. I hate creating interfaces without a form designer and integrated code editor, debugger, autocomplete, help, etc.

  132. Don't start off with it, but don't cull it either by Anonymous Coward · · Score: 0

    I have been programming for several years now. I actually started at a very young age in the early - mid eighties (I was around 8) with a Commodore 64 and their implementation of BASIC, I think it was BASIC A. I also later used QBASIC for DOS.

    I don't really count any of that as "programming" though...

    My first foray into what I would say really counts was C / C++ in CS 115 in college. Looking back, I feel that it was vital that I got the fundamentals right without a GUI in all of the languages above. When I made that leap to developing in the Windowed and Server-Side Web Based world, it was a smooth process. I see a lot of new developers that fit the description from the article, and it is easy to see how weak they are fundamentally. That is why I say don't start off with it, get the programming part down before trying to handle the landfall of things that you can do with a GUI.

    However, with all of that said, you certainly shouldn't write off Visual Studio. It has a lot of great tools to simplify the process of development. I personally find intellisense alone to be worth it's (It being the CD I guess) weight in gold, and if you are talking about .NET then there is a lot more value to the package. I feel that C#, and VB.NET are both excellent development languages, and being able to work with both within the same standard tool, using the same standard libraries (framework) is a real benefit to the developer.

    So, I don't really think it's fair to say it causes brain rot... I can still code in several non .NET languages, but I use it because I like it. It is extremely important though, to sharpen the logic saw from time to time, and to learn to program with a non-gui / non-intellisense language first.

  133. Typical emacs, tree loving hippie idiot comments.. by Flaming+Death · · Score: 1

    You use the tool that allows the most people to be able to do the most work in the shortest possible time. Regardless.. and VS does this better than any programming tool. Dont spam with emacs and so forth.. it takes eons to become a hugely efficient emacs user. And on top of that, there is no better tool for project management - make files, ant and the like are just horrible 70's excuses that should have been burnt and shredded ages ago.. Having been involved in everything from SGI, Sun, Linux, and Windows OS's VS is head an shoulders above all the other available programming IDE's around. Poster needs to get a brain.

  134. Re:Does it? Not sure. But from experience I can sa by D4MO · · Score: 1

    I'm 2 years into a 4 year project building a financial system that, so far, has 80,000 lines of code. Up yours if you think I'm doing that in notepad.

    --

    Rocket science is easy. Neurosurgery, now *that's* difficult.
  135. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0
    See, it was probably pirated. If he was poor and honest, he would have been working in C, Python, or Perl, which he could legally get free.

    We need stricter copyright enforcement!

  136. Interesting by LeoDavinci578 · · Score: 1

    IMHO Visual Basic is a great teaching product. I go to a Technical Center for Juniors and Seniors, the curriculum(sp) is broken up into four sections - PC Technician, Networking, Multimedia, and Programming. Many of the students aren't really all that into programming, they came into the program for one of the other sections, but once they see that they can get immediate results and something "pretty" with VB, they get excited and actually do the work. Our teacher told us that they used to teach Java for the programming section, but switched to VB a year ago, I asked her about this and she said it was because with Java, noone liked it but the kids that were REALLY into programming and it was hard to keep their attention/on task. She said that with VB the students are much more into the assignments, mainly because of having a nice GUI looking at you right away. Like anything, it has it's place.

  137. I did start with perl and I tuned out fine by myBotPiko · · Score: 1

    When I really started taking an interest in programming I actually started by learning perl! It helped me move on to C later sicne the syntax is rather simular.

    Now I'm at my final year at uni with high marks in all my programming subjects. (Even got full marks for a Systems administration programming assignment that I wrote in perl ;))

    1. Re:I did start with perl and I tuned out fine by KrispyKringle · · Score: 1

      In my experience, very few university assignments are graded on style--most solely consider the functionality of the end result (and could be graded with hardly a look at the source code).

      Have you gotten high marks on the maintainability or readability of your code?

    2. Re:I did start with perl and I tuned out fine by D3m3rz3l · · Score: 1

      Let me know how you get graded on your operating systems class. The one where you need to write the kernal of an OS or write a threading package and a remote procedure call library.

    3. Re:I did start with perl and I tuned out fine by bburton · · Score: 1

      My professor requires that we fully document are code (to an almost insane degree). That's including a full psuedo-code version of the program at the top of the file. Mostly it's to fight plagiarism, but it's also there to document your train of thought.

      He couldn't care less how we place our semicolins, or if we choose to use Hungarian notation or not. But he does care about consistancy, and if the program is human readable. It's a small part of the grade, but it's part of the grade.

      --
      Slashdot = ((Technology + Politics) / Trolls) % Grammar Nazis
    4. Re:I did start with perl and I tuned out fine by KrispyKringle · · Score: 1

      Maintainability and readability is not just about documentation or semicolons or Hungarian notation (incidentally, that is to be avoided at all costs ;) ). I was meaning more things like function length, intuitive use of common idioms, function and variable names and declarations, etc. Point being that these important qualities aren't really measured in your CS grade. That's all.

      For the record, I'm a reformed Perl user who now relies often on Python. ;)

    5. Re:I did start with perl and I tuned out fine by Anonymous Coward · · Score: 0

      I too am a reformed perl user who now uses python on a regular basis. I was forced into perl due to my job, but discovered python after being asked to evaluate our programming needs and which languages would best suit those needs. Python is a godsend when it comes to readability and maintainability. I remember a line from somewhere "perl is executable line noise, python is executable pseudo code".

      Anyways give python a try people and you might be supprised at what clear code can do for you.

  138. You just don't understand the power luke by DontCallMeIshmael · · Score: 1

    And MS throw a mean Christmas Party - Give me the Dark Side - people pay me money to do it

  139. Re:Shut up DINOSAUR by docgnome · · Score: 1

    "Coding is about the best tool for the job."

    Ok... With you so far.

    "I call them powerful"

    Java? There are many things I would call Java and powerful is not one of them. Especially not when compared to say... LISP?

    "Java can do almost anything you need it to"

    How about pointer math?

    " and since the late 1990s it has been nearly as fast as C or C++:"

    Wow. That is possibly the single most blatantly wrong thing I have ever read on Slashdot. I'm stunned.

  140. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    His reaction so far to having to actually write and understand code is that it is stupid.

    Well, he's right, after all. The trouble is, being fifty years ahead of your time doesn't make for an easy career (or life).

  141. Coding Beginnings by Anonymous Coward · · Score: 0

    I agree with most of what is said here. Don't blame Microsoft for making an IDE that is drag and drop simple. Blame the parents who didn't give the kid the book of C, or C+ or whatever language he was learning.

    As an amateur web designer, I started the drag n drop crap only to move to raw code for speed, layout and power. When I was using the Windows platform I didn't even use and IDE, I used notepad! Of course Wordpad, with better arrangement of line breaks is better, but perhaps a book of the language for the kid and notepad or Wordpad would have been a better start for him than VS. I mean, I didn't start to use Dreamweaver until I went from static to dynamic web design purely because syntax etc starts to get interesting when you have multiple lines of programming code with your html.

    My 2c.

  142. VS bad == BS by Anonymous Coward · · Score: 0

    Oh common.

    This is such BS. This sounds like a functional programmer rant whose phobia of OOP is rearing its ugly head again. People, sit down with Beta 2 just for a couple of friendly minutes. Try using the tools that compiler offers you, namely things like rolling breakpoints and quickwatch.

    Being able to stop code in mid execution, view all object data, modify it, roll it back to a previous line, and re-excute without recompling DOES NOT make you a bad coder. It makes code execution transparent, and NEWS FLASH: Very few of us actually get to write our own projects from scratch. In some way or form, we have to use something somebody else wrote.

    Sure, you can say "Well you shouldn't need to see what it's doing..yada yada yaha". Welcome to the promise of OOP. The idea of componet programming: Not having to reinvent the wheel every single freakin time. People make componets, and people like me are stuck using 3rd party API's that have that are often poorly (or not at all) documented and have their own unique set(s) of bugs. I can't use a freakin command line compiler, thats insanity.

    The reality is this: Windows is too freakin big. People make mistakes. The idea of doing everything from scratch in this day and age is impracticle.

    Deal with it.

  143. Evolution of Development by TheNetAvenger · · Score: 4, Interesting

    Whether the 'old' timers (myself being one) like the abstraction of low level coding and what is becoming mainstream, this is an evolution of development.

    Visual Basic back in 1992 was in of itself a massive advance for this type of programming and programming understanding. Look at all the 1000s of VB applications from this time period by people that truly had very little coding experience.

    However, some of the VB programs from this time were quite effective.

    I think the biggest injustice to programming and the programming community as a whole, is the lack of UI guidelines, and understanding usability and User Interaction and User Flow.

    How many times have you grabbed a GOOD program, with brillant LOW LEVEL coded features, but the interface to the application work about as well as a broken pay phone.

    So sure VS can remove the user from 'low level coding', but this is NOT always a bad thing.

    As development EVOLVES, there is NO REASON with the AI in the development tools and the AI in the code produced by these development tools should not be used. Why should a person in the 21st century truly have to fully understand memory allocation, advanced recursion, or even see program past advanced event handlers, as that is what programs ARE - event handlers...

    Why do we have to beat down development tools just because they remove the developer from having to DO THINGS THE Tool or Compiler should DO FOR YOU? This is what makes advanced devleopment and the progression of better applications bloom.

    Go back to the VB of 1992, it was a major eplosion for application availability. Sure some of the programs were crap and from people that had no idea of coding, but there were also serious developers that didn't want to take time to screw with all the crap that a developer in THIS DAY and AGE should not have to do.

    I welcome development tools advancement. Sure there is some fundamental coding knowledge that everyone should know, but you can't blame these tools for this.

    I could have the same arguments about many projects in the Open Source world, they are brilliant, but since the coders have little undertsanding of usability or UI guidelines, they applications are virtually worthless to anyone that is not a geek.

    I'm not even arguing VS is the best set of tools out there, Borland still makes some really great development environments. I still like Delphi, and am amazed of how tight the code it produces, and yet how much it DOES FOR ME, even if I do know how to do the things it is doing for me is irrelevant.

    We not only need to support development that is beyond a text editor and command line compiler, but we also need to support development tools that try to structure and help users with usability for the people that will be using the applications. PERIOD.

    VS and Borland products are pretty good, but they could even be better - imagine a development environment that gives a flag when it notices a break in usability, or gives a compile warning after it 'intellectually' sees the appliction has many inconsistencies that would confuse the user.

    Additionally, VS is even dated for what the new Microsoft Development and technologies are introducing. VS2005 barely touches the abilities of future Windows development - that is why the 'Expression' like of products will be used to augment the UI and User experiene for VS applications.

    Give the world a couple of years, and the foundations of 'native' understanding being built into the next generation of Windows Vista, WILL change not only the user experience, but the development world. Leapfrogging concepts of today.

    Go look up some of the concepts Microsoft has introduced and HAS that are often overlooked, go do a search on the last PDC. There are things in Vista that move development to a new level of understanding and functionality for not only developers, but what the users will start to see in the next 5 years.

    It is like one of the brains behind the XAML and XPS systems in

    1. Re:Evolution of Development by anticypher · · Score: 1

      eplosion

      I have my new word for the day, thank you.

      Although I am not a coder, your post does bring up some interesting ideas. I do think you underestimate the drag of legacy systems and coding techniques, but even if Vista does have a smoothly working XAML/XML message passing and context system it will take a decade or more to become mainstream. VB has been around for more than a decade, and even though there was a small eplosion (hah, I've already used my new word once today) of programs when it first emerged, it is only now becoming common for most development teams. Assuming M$ stays the course on Vista development and doesn't drop the tech before it has a chance in the marketplace (like so many other buzzword/paradigm fads), this bears watching.

      I also think you are being downbeat on OpenSource coders, they have always shown the agility to adopt proven methods quite quickly once they start to prove their worth (ha, they'll adopt anything they can get their hands on).

      the AC

      --
      Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
    2. Re:Evolution of Development by shotgunefx · · Score: 1

      "As development EVOLVES, there is NO REASON with the AI in the development tools and the AI in the code produced by these development tools should not be used. Why should a person in the 21st century truly have to fully understand memory allocation, advanced recursion, or even see program past advanced event
      handlers, as that is what programs ARE - event handlers..."

      I'm not against making things easier, but what happens when the tools don't work properly? I think at the very least, a decent understanding of the underpinnings should be required learning.

      --

      -William Shatner can be neither created nor destroyed.
    3. Re:Evolution of Development by TheNetAvenger · · Score: 1

      LOL I should of put a ((tm) by my new word... Dammit, now everyone is using it...

    4. Re:Evolution of Development by TheNetAvenger · · Score: 1

      I'm not against making things easier, but what happens when the tools don't work properly? I think at the very least, a decent understanding of the underpinnings should be required learning.

      True, that is why we can't put faith in any ONE company or set of AI ideas. We need the borlands and the open source world, just like we need Microsoft(don't choke) and VS.

      When one fails, the others carry the ball...

      In old school terms of visual development this has already happened, Visual Basic had a hold on this world until version 4.0 - MS blew it BIG time. Delphi from borland was there to pick up the market and evolve the concepts past what MS was doing in the Windows world.

      They both bounce back and forth in the Windows world, and there are a few other tools that have some good ideas if both of these companies blow it.

      Additonally, we can take their ideas and concepts and bring them into what ever world WE WANT. Let MS or Borland create new concepts, intelligences for development, and we can use and extend these models back in our own tools or OSes.

      That is why it is SO important to understand MS VS, or at least understand what it DOES WELL. We have to know this to ever compete, or take advantage of it.

      It kills me that so many people that are anti-Microsoft, know SO LITTLE about MS, except the sound bites and their brief experiences. Whether we like it or not, there are things we should know about the NT foundation of Windows, and what Microsoft has DONE well in terms of innovation.

      It would be like being a liberal that never turned on Fox news or Rush. You are basically sticking your head in the sand and going, la la la, I don't want to know, even if it is good or there is truth or something quite innovative in concept at the very least.

      I wish there was a way to shock people into doing this. What will happen is Microsoft will truly blow the doors off the technological community, and the shock or wake up call will be people getting left in the dust because they didn't pay attention. (And I hope I am so wrong about this.)

  144. Petzold by Arandir · · Score: 1

    The fact that this is written by Petzold carries a lot of weight. When the world's leading how-to-progam-Windows person says VS rots the brain, maybe, just maybe, management will listen.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  145. Job security by CrimsonScythe · · Score: 0

    As a UNIX guy dragged kicking and screaming into the Windows world

    Dude, if they physically had to drag you kicking and screaming from your UNIX lab to your Windows computer and they didn't fire you for your outrageous behaviour, then I really don't think you'll ever have to worry about job security.

    Oh, wait... Were you speaking metaphorically?

    --
    The view was horrible and the smell was even worse; Julie severely regretted becoming a proctologist.
  146. Re:yes, it does rot your brain, or at least habits by jaunito · · Score: 1

    It was the same thing with us, when programming in Apple Basic and MS-DOS Basic. There is nothing wrong with tinkering around and getting interested in a field. I agree that VS is not the be-all-to-end-all, but it has its purpose, and it is not bad for this kid to get interested in something. It stinks taking the first couple years of computer science because they make you do a lot of work for very little payoff. The payoff is what you get when you use VS because you can see the immediate results. When you are writing a heap sort or a compression algorithm, it seems like an endless task that will get you nowhere, but when you apply those principles to the Visual environment, you can make a masterpiece. It is amazing what is possible, and just because you can do it the difficult way, does not mean that it is any better if you spend hours slaving over a user interface or you let microsoft help you out a little. You can make code as complex as you like under that visual environment, but without using those tools, it makes programming much more difficult and not necessarily any better. Just my two cents worth.

  147. Okay, thats fair. by LibertineR · · Score: 1
    My credit cards do act like Intellisense:

    They dont tell me what to purchase, but they make a hell of a lot of suggestions. Especially when I get that Newegg newsletter in email. Just the other day, the Mastercard said "Psst, hey bitch, dont you need some RAM? Oh, and Newegg has got a sale goin on for all things Plextor."

  148. What we have here, ladies and gentlemen... by OwP_Fabricated · · Score: 2, Funny

    Is a troll. Can anyone tell me what he did wrong though?

    So far I count a distinct lack of insults towards nmb's parents, and not a single reference to his sexuality.

  149. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Surely, that has to be PHP!

    Haven't laughed this hard in years...

  150. The obvious question by Anonymous Coward · · Score: 0

    Your praise of the Microsoft tools begs an obvious question:

    If the tools are REALLY that good, how come MS has trouble getting out an OS which isn't buggy, broken, overbloated, insecure and way over schedule?

    This is not a troll; it's something that I've wondered about for years.

    If they aren't using their own tools for O.S. development, it suggests that those tools are indeed not up to snuff for some extremely sophisticated and demanding programming. And it makes you wonder what kind of tools they are using.

    If they are using their own tools, then perhaps these are getting in the way?

    Either way, it shoots down the argument that MS's tools are the end-all and be-all for software development (like some App programmers would have us believe).

  151. I write every line of my code, I rule. LOLOL.... by Anonymous Coward · · Score: 0

    Hey, programming purists. Are you forgetting... We do this stuff for business, and in business, Time is Money. So any tool that can speed the dev process is good.

  152. Deep Thoughts with Jack Handy by cnerd2025 · · Score: 0, Troll

    Does Visual Studio Rot the Brain?

    Is M$ a monopoly?

    if (USER_OS == "Microsoft")
    {
    printf("Your brain is being rotted!!!\n");
    }

  153. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    From the looks of your post, it looks like you didn't get what the grandparent poster is saying. The poster seems to have a good grasp at what an IDE *is* good for -- a simple edit/compile/run/debug process, and some little extra "goodies". Essentially, a text editor on steroids (including syntax hilighting, auto-indent, compile/run/debug shortcuts, and maybe function call parameter 'tips'). You can get all of these things with Emacs, as well as with Visual Studio.

    I really don't think think using VS in this manner deserves your "lack of respect" any more than someone using Emacs (or vi) over Notepad or Ed.

  154. Microsoft still doesn't get it. by Anonymous Coward · · Score: 0
    Blech. The "slim" C++ edition requires 1.5GB for installation. In addition, these tools are only "free" during the BETA program, and will cost $50 each when released. And Microsoft makes a very big deal about how they are really only designed for hobbyists and students, making me question what kind of artificial limitations are being built into them to hinder productivity and usefulness.


    Contrast all that to the Eclipse environment. First of all it is a fully open source product without any artificial restrictions on what you can or cannot do. In terms of size, it is a paltry 100MB download, with an extra 12MB if you want the CDT (for doing C++ development on Linux). Even if you don't have a JRE, it's still not more than 200MB! Why can't Microsoft produce an equivalent open source professional level IDE that can be used by both beginners and professionals alike?

    Oh right, because Microsoft still doesn't get it.

  155. Obviously it does... by v3xt0r · · Score: 0

    Just read the comments below/above!!

    Have you ever worked in a mixed IT environment, being the only C/PERL/PHP/Unix programmer in a room full of VB/C#/ASP/.NET programmers?

    It's like talking to a bunch of ESL (which most of them are) or Special Ed students!!

    They won't even understand the purpose of RSS until Microsoft releases IE7.0, it's really sad!

    --
    the only permanence in existence, is the impermanence of existence.
  156. Re:yes, it does rot your brain, or at least habits by Dogtanian · · Score: 1

    VS makes putting together applications (Some of which are seriously powerful) very easy. The fact it is easy to do doesn't make it any less useful at the end.

    The problem I had when I first used VS (and knew plenty of OO theory) was that the way I was being "encouraged" to develop my application via the auto-generated code (or so it seemed) ended up with everything in the same class; as well as a few other design decisions that basically weren't conducive to building a program that would be maintainable when it grew beyond a simple app.

    Of course it's possible to get round this, but it requires *conscious effort* (first time I used VS I was prepared to do things its way before I started messing round; bad idea). The effect will be much worse on those with little or no previous experience. Plus, moving and changing auto-generated code manually is generally a bad idea in such cases (****s up the likes of the GUI layout editor and so on...)

    As I said, this isn't a problem for small, quick apps; but anything beyond that will require a discipline which I feel goes against the RAD ethos of VS.

    That's not counting the problem I had with disappearing components and such... :-6

    I don't know how Eclipse compares; I've never used any of its RAD GUI plugins and the like.... although it does have the same approach to displaying function and method names (-->bottom up).

    --
    "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  157. Re:yes, it does rot your brain, or at least habits by Have+Blue · · Score: 1

    What you seem to consider "real code" is something that one can only write after years of experience and formal training. Give the kid a break- your first program was probably just as "cute" as his, only it printed a list of numbers to stdout instead of popping up dialog boxes.

  158. Name a single language... by Darius+Jedburgh · · Score: 1
    ...feature that I'm likely to forget because I've used Visual Studio.

    I think your comment is pure idiocy. You don't forget language features because you're developing in a GUI.

    1. Re:Name a single language... by NousCS · · Score: 1

      I should have been more clear in my last post. When using the automatic statement completion on a regular basis people come to depend on it. For example, Joe needs to write a program in C++ that does threading in Windows. Using Visual Studio he types in

      hThread = CreateThread(

      and VS provides him with the details of how many parameters and what kind of types he needs. However, when Joe goes to work for another company that develops Windows software using C++ he finds that they use the Microsoft Visual C++ Toolkit because it is free and has everthing they need... Except for automatic statement completion for Joe who never learned how many parameters of which types are needed to create a new thread in C++ in a Windows environment.

  159. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Yes!! We should build cars from scratch rather than buying them made already!!

  160. Re:Shut up DINOSAUR by achacha · · Score: 1

    One of Java's greatest flaws is it doesn't have any way to make an object constant (C/C++ have const). And if you say 'final' you clearly do not uderstand what that keyword does in java and should consult the java language reference. Without constness, it is very hard to design code that is used as intended without needing javadoc for explanation, it should be intuitive. Luckily they added enums in 1.5 (about f'n time).

    Just my 2 cents.

  161. Re:yes, it does rot your brain, or at least habits by Raumkraut · · Score: 1

    Furniture from IKEA comes flat-packed with an alan key, and whilst an IKEA desk may not be a handmade mahogany desk with glass top, it is still a flat surface to work on. Does the fact you put it together out of pre-assembled components make it any less of a desk?

      In the most general sense, no (assuming you put it together correctly), but it does make the quality of the desk an unknown quantity.
      Without knowing what went into the manufacture of the individual components, you don't know if you were supplied with substandard parts, and hence at risk from part of it breaking, and the whole thing falling over without warning the first time your friend, who doesn't 'get' desks, tries to use it...

  162. Anything can rot your brain if you let it by istartedi · · Score: 2, Interesting

    I can see how you could say that about VS, but I think it applies to a lot of things. If you don't know (or want to know) anything about how computers work, then you could get lulled into just clicking the pretty widgets and filling in the blanks on all the things the wizard does for you. Myself, I use VS but almost always start with a blank project and build from there. When I was first learning in the mid 90s, I got roped into using MFC because of it, but experience has taught me to avoid proprietary stuff like that--and by "proprietary" I mean "specific to a particular system". You could make the same argument against using shell scripts with calls to commands found only on your favorite distro of Linux. If you aren't aware of the existance of a "Linux standards base" or "C99" you are going to get suckered into writing something "trendy" when you didn't mean to. Then you'll find yourself re-writing it 2 years later when the "release often" cycle has made your efforts irrelevant; but I don't hear anybody saying Open Source rots your brain. You have to learn to defend your brain. Defend it against tools that hide too much, defend it against trendiness, defend it against outdated designs touted as the latest thing, defend against marketing, and hold on to what stands the test of time. If you have a good brain, a bad tool might keep you down for a while, but you'll learn, and you can actually "un-rot" your brain.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  163. UNIX pgrmrs BETTER than MS VS pgrmrs! na-na-na by maxrate · · Score: 1
    Why do many people on Slashdot think they are some sort of 'god' like programmer?

    Where does this UNIX guy get off thinking he's programming in a superior environment? You either code well or you don't.

    Same way someone can play the piano well or they don't. Say someone can play the piano pretty darn good (not great) with minimal practice, I think then they may be better in ways then someone who practices continuously and only plays well, not fantastic. Same with coding.

    Visual Studio does not rot the brain, wasting time on trivial matters and posting them to slashdot does. Darn, I just rotted my brain a little by contributing to this FUD.

    1. Re:UNIX pgrmrs BETTER than MS VS pgrmrs! na-na-na by ckaminski · · Score: 1

      Because after Matt Pietrek, Charles Petzold is probably the most popular Windows developer around.

    2. Re:UNIX pgrmrs BETTER than MS VS pgrmrs! na-na-na by Anonymous Coward · · Score: 0

      ckaminski:

      I don't think it's fair to say that Charles Petzold is a developer. He's an author. Although he may have once been a professional developer, he now just writes books. There is a workd of difference between developing software for real customers and doing what he does. In fact, just about everything that he says in his piece illustrates that fact.

  164. Creation of the loop structure... by Ursus+Maximus · · Score: 5, Funny

    Earth? Cool? Lucky, lucky you, weren't you the spoiled brat? Back in the day, I had to envision a billion Buddhas within a billion Buddhas within a billion Buddhas, all on top of a turtle's back just to get a big bang and some actual space time with matter...

    1. Re:Creation of the loop structure... by I+Like+Pudding · · Score: 2, Funny

      So, reality is just a continuation of Buddhas? Or, wait, no, Buddha is the continuation!

      *ascends into the light*

    2. Re:Creation of the loop structure... by Anonymous Coward · · Score: 0

      And how do you call the continuation?

    3. Re:Creation of the loop structure... by I+Like+Pudding · · Score: 1
      And how do you call the continuation?

      Consult your pineal gland
  165. Re:yes, it does rot your brain, or at least habits by owlstead · · Score: 1

    I was typing a long reply in which I summized that VS is not that excelent compared to others in in doing "Code/syntax highlighting, structure/layout, designing graphical aspects and others". Then I remembered the parent article and I will just say that there are development environments that do (a much) better job at the things you mentioned.

    But I agree that these things are very important for programmers and designers, especially beginning ones. And I think we are only seeing the top of the iceberg here. Why use ASCII if we can do much better graphically? Why do I still see unaltered HTML markup while typing my Java classes? Why is it not laying out code according to company standards by default? Why does it not show a nice graphical representation of complex expressions in a view? Such things will only ease development, and do little to harm the starting programmer.

    In my favourite IDE (Eclipse) there are now guides that learn you how to use the IDE and how to program. Why not let the IDE help with programming, and put a complete course in it? Neh, the main article is a bit too negative to my taste as well.

  166. Nope, it doesn't... by suitepotato · · Score: 1

    C++ and Java rot the mind. Object orientation rots the mind. C, BASIC, and assembly unrot it.

    Programming isn't about abstraction. Abstraction only enters the picture at the outset when you ask yourself, "what am I doing and how do I do it?" After that, it is simply a matter of telling the machine what to do and machines don't operate based on abstractions. They only add 001110 and 110110 if you tell them to. If you don't tell them so, they don't do it.

    Along come all sorts of higher concepts that the more artsy and less nuts and bolts types can digest and all sorts of toolboxes of prewritten lower level code from the true code grunts who tell the computer to add 001110 and 110110 and suddenly it is all about that.

    Well MSVS does embrace all that very nicely. It makes it rather easy for quick apps to be tossed out by the most artsy and least nuts-and-bolts types. Their minds were already rotten. They never wanted to think the way the machine does, they want the machine to work the way they think and who makes that happen?

    The nuts-and-bolts grunts.

    HTML coders who swear by a simple text editor and have foresworn WYSIWYG as wussy know what I mean. Who cares about the artsy if the actual code is wrong? Better to know the code down to the last thing and simply do it like you speak that language natively than deal with, "oooh, look at this neat-o set of text boxes with little buttons".

    This trusting of the IDE and object nonsense and inane abstractions have drawn us away from the cellular level of the guts so now we don't know if the toolboxes are full of flawed tools and if so what the flaws are and where they are and oooh, look at this neat-o set of... blue screens.

    --
    If my grammar and spelling are off, I am [distracted/tired/careless] (take your pick)
    1. Re:Nope, it doesn't... by Anonymous Coward · · Score: 0

      You are a jellyfish-killer. Sharks hate you. Go dolphin up the Egypt's pyramids established in 1300 B.C. I care for the income tax crisis we Britainers love satirical comedy for (int i=0; phishsticks(A,B) :- :- :-)) with a nerf whifflebat?

    2. Re:Nope, it doesn't... by Anonymous Coward · · Score: 0

      BUMBLEBEES ARE NESTING IN MY PUBIC HAIR











      abcdefghijklmnopqueerfsropewokreowpkfdsl;fks;fnc oinqwjio

    3. Re:Nope, it doesn't... by Anonymous Coward · · Score: 0

      a buger fel out of my nostril and ran away with one of my precious nose hairs =(((

  167. Re:yes, it does rot your brain, or at least habits by TheZalm · · Score: 1

    Can I get a copy of your BASIC program? I'm DMing a D&D game and I could use a mapper.

  168. What is this, a troll article? by eples · · Score: 1

    From the poster:
    force you to adopt programming techniques designed around implementation speed, not understanding or quality.

    It doesn't force you to do anything. You don't have to use the "drag n' drop" garbage. It's easier to just write the damn code sometimes.

    I think it would be much more accurate to state that it allows people to implement things without understanding or quality. THAT would be an accurate statement.

    That being said, even your granny can crash a NASCAR. It ain't the car's fault.

    --
    I'm a 2000 man.
  169. Tools do not the developer make. by panoplos · · Score: 2, Insightful

    Visual Studio and Microsoft tools force you to adopt programming techniques designed around implementation speed, not understanding or quality.

    It is not the responsibility of the tool developer to insure the user has a clue.

  170. Re:yes, it does rot your brain, or at least habits by colinrichardday · · Score: 1

    But then, why use Visual Studio instead of emacs? The latter is somewhat less expensive.

  171. Re:yes, it does rot your brain, or at least habits by Frobnicator · · Score: 2, Insightful
    Visual Studio and Microsoft tools force you to adopt programming techniques designed around implementation speed, not understanding or quality.
    Force? noone's forcing me to use the RAD tools; I use VS primarily as an editor with intellisense and solution/project file management; no more, nor less. FUD.
    Exactly.

    Some projects at my company were written by people who did not know how to program well. Others of us follow well-organized, structured development.

    Their code looked like the Microsoft samples. (God help us all! And MSDN Team: I write you EVERY THREE MONTHS that is is int main() and not void main().) When some of my team was asked to help them write unit tests for their code, we gave up and told them to rewrite. When they wanted to add more functionality, they couldn't and finally asked us for help. We told their boss (not their team lead) to rewrite when we found that every button had their own set of SQL calls and set the state of various controls on the form. Most of the buttons duplicated the work of all the others.

    Contrasting it with our beautiful code. :) Ours looks like it was planned, mainly because it was. Only one of our projects is a GUI. The rest provide libraries with M/V/P or M/V/C structure. It is all under unit test, and adding features is a joy. Well, as much of a joy as work can be.

    VS itself is not the problem. It's the developers who never learned how to program that are the problem.

    frob

    --
    //TODO: Think of witty sig statement
  172. It's not the IDE, it's the programmer... by Anonymous Coward · · Score: 0

    ... that makes the program. Example :- Sure you can drag and drop a data adapter to a form and connect to a DB, but, if you "learn" fundamental programming skills you will create a separate class to access data from a DB (and keep it away from the form). Just because something is quick and easy does not make it the only way to do it. Hence it is not the IDE that makes "your brain rot" it is the programmers "choice" to do the quick and easy.

  173. False dichotomy. by jcr · · Score: 1

    It's not necessary to trade implementation speed for code quality, and Smalltalk and Cocoa have demonstrated this for many years.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  174. I use visual studio by CastrTroy · · Score: 1

    I use visual studio every day. Although it does provide the ability to program the way you describe, it doesn't have to be done that way. There's no reason you can't start up a windows console application and do the programming straight from the text file. There's a lot of people out there using visual studio for apps that don't even have a GUI. .Net made it really annoying to try to make a web app, because the code that generates the HTML has to be separated from the page which outputs the HTML. Which isn't a bad way if you use the drag and drop method of generating your HTML, but becomes a real pain if you start writing your own code which outputs HTML.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    1. Re:I use visual studio by Sigma+7 · · Score: 1
      Although it does provide the ability to program the way you describe, it doesn't have to be done that way. There's no reason you can't start up a windows console application and do the programming straight from the text file.


      You don't even need to do that - you can just select "View Code" by right-clicking on the form. At most, you simply have the window auto-generated for you. (You need to do view code anyway if you want something similar to Databindings - there is a known bug with the VB implementation, with the Googleable error message "DataBinding could not find a row in the list that is suitable for all bindings". This bug is reproducable using a wizard and a simple database table.)

      Either that, or create a C++ project - in that case, you must code manually.

      There's plenty of flaws with the article, but a TopCoder SRM is about to start.
  175. Re:yes, it does rot your brain, or at least habits by ucblockhead · · Score: 1

    Speaking as someone who uses Visual Studio every day at work, Vim's syntax editing beats it hands-down.

    --
    The cake is a pie
  176. Visual studio zombies by atokata · · Score: 2, Insightful

    I recently saw, first hand, how Visual Studio should *not* be used. The problem with rapid application development is that generally, as with any precise scientific endevor, the more rapidly the work is done, the more opportunity to make massive mistakes. In my recent experience, I came across a fellow who had started working on a database system for a small mechanical company. He obviously had programming experience, and even wrote some fairly good conditional loops for processing payroll taxes. However (and largely due to inept management who did not have any programming expertise) he found himself making larger and more extravagant promises of expanded features to his bosses. Eventually, because of the way his program had been rapidly banged together, he found himself 'paited into a corner,' unable to deliver his promised new features without an extensive rewrite. In this respect, I feel that RAD tools, such as MS-VS, can lead to even greater delays than carefully planning and writing all the code by hand.

  177. Re:yes, it does rot your brain, or at least habits by BlueCollarCamel · · Score: 1

    This is basically how I got into the world of programming, if I may be so bold. I started with VB 6. Eventually, I got bored with the simplicity of it. It just didn't "challenge" me, if I may once again be so bold. I wanted to know more about how the things worked, other than just accepting Text1.Text = "Blah", so I delved into C++, which, to this day, am still learning (to be honest, I've only recently started programming in C++, making a big leap a year or two ago.) Let the kid be, if he's truly interested in programming, he'll follow a path similar to mine, wanting to delve deeper into it, maybe even learning concepts/programming paradigms. Just my 0.02... something to think about.

    --
    1&1 - Cheap domain and web hosting.
  178. Re:yes, it does rot your brain, or at least habits by mauriatm · · Score: 1

    I totally agree. I use gvim along side visual studio when I want to reference some code or just pull up a single file to edit. If gvim had some mechanism to open/close the braces, comments, functions, etc (+/- like in vs.net) -- then I would be complete.

  179. Re:yes, it does rot your brain, or at least habits by Zork+the+Almighty · · Score: 1

    So IMO, since OpenGL and DirectX can run on Windows, but only OpenGL can run on Linux, it would be a better investment of time and money to use Windows throughout.

    That sounds like an argument to learn OpenGL.

    --

    In Soviet America the banks rob you!
  180. top-down in eclipse by Anonymous Coward · · Score: 1, Insightful

    Also, the auto-fix that generates those stubs makes it quite easy to program top-down in Eclipse. Just reference classes/methods you haven't written yet, and choose "create" and then leave the stub until you feel like filling it in. If you want to change the arguments later, refactor.

  181. generated code "ugly" by Michael+Wardle · · Score: 1

    In the section, "Origins of the Designer" in the article, Charles Petzold says:

    I couldn't use this Dialog Editor. I couldn't use it for the simple reason that the output of the Dialog Editor was ugly.
    The code we write has to be concise but not to the point where it's obscure. It should be nicely formatted and easy to read. There should be plenty of white space. It should be airy.

    And this from the guy who popularized Hungarian Notation!

    1. Re:generated code "ugly" by ckaminski · · Score: 1

      Um, no, that would be to fools in the Win32 department who did that. Petzold was just following the trend.

  182. Re:yes, it does rot your brain, or at least habits by CastrTroy · · Score: 1

    Our first year courses started out programming C with borland, and Java. By 4th year, most professors were saying do it in whichever language you want, as long as you can run it in the lab. The lab had windows, unix, and most languages you'd expect to find on either. There was one guy who insisted on doing every possible project in prolog. I think it was a good thing that they let us choose. I usually picked different languages depending on what I thought would be best for the project.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  183. Just have to reply to this by bertok · · Score: 1

    As a Visual Studio user for many years, the most interesting comment I heard was from a fellow programmer who said that they prefer to turn off the tab-completion sometimes. The idea is that if you have no need to memorize the various functions in the standard library, you probably won't. He found that it increased his ability to plan ahead, reducing overall programming time. He still coded with tab completion on most of the time, but not always.

    Another point of view is that Visual Studio automates a lot of things (such as GUI design), but this can limit creativity and flexibility, as coders will avoid doing things that the limited designers and wizards can't do. For example, the "Setup Project" wizard is handy, but it doesn't support optional sub-components that users can choose not to install, which means that coders who use it will most likely create "all or nothing" installers.

  184. Re:yes, it does rot your brain, or at least habits by CastrTroy · · Score: 1

    The problem is that visual studio lets you create something, that to the end user, ends up looking and behaving exactly like a program. The problem is, once a programmer looks at the internals, it looks and behaves nothing like a real program should.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  185. Re:yes, it does rot your brain, or at least habits by i.of.the.storm · · Score: 0

    Yes, I learned VB 6 from a book on game design, which absolutely forbade me to drag n drop anything. I admit before that I used a plain VB book which did corrupt my programming skills at first, but now I never even look at the design mode. I really like the code completion and stuff, if eclipse has that I might move to that from JCreator since the only reason I like JCreator at all (besides the fact that we use it in AP Comp Sci) is that the IDE looks pretty similar, and indeed is designed, to mimick VS.

    --
    All your base are belong to Wii.
  186. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    see usr_28.txt, it's about folding :)

  187. Re:Shut up DINOSAUR by HawkingMattress · · Score: 4, Insightful
    look at The post just above you, he's right.
    It's a friggin kid we're talking about. What did you do when you were programming as a kid, if you did ? I know i tried to have the computer display fancy stuff, in stupid ways. I wrote some sort of "demos" consisting of loops like
    for i=1 to 100
    box (i, i, i, i)
    cls
    next i
    or composed some sort of animations in an ascii 8x8 grid because i didn't know of sprites and all the stuff. That was probably stupid, utterly useless, and definitely not the good tool for the job. I should have been using assembly at the time, and some sort of backbuffer instead of calling cls... But what the heck, that's what made me love programming. At the time i remember i tried to join some computer clubs, but they all were doing some things i thought were utterly boring, like learning how to use spreadsheets, or having programs "behave in an intelligent way" (that is, validating input...).
    They were right, validating input is more than necessary in even the most stupid program, and using a spreadsheet instead of making a custom program yourself for each formula is certainly a good idea. But it wasn't fancy, and was very boring to do... Let this kid alone, he'll understand soon enough that you can certainly make nice looking programs with vs, but you have to learn programming to have them do anything usefull. And if he's really interested, he'll learn that too. And i'll congrat him because frankly, when i was a kid learning to program 8 bit computers was certainly a fun thing to do, but now with all the stuff you have to know, the fact that you can only access the computer via stupid apis that you have to learn, you have to be really interested by it to find it amusing. Computers are boring nowadays, seriously...
  188. Re:yes, it does rot your brain, or at least habits by CastrTroy · · Score: 1

    Great. All I need is a paperclip popping ever 10 minutes with sayings like, "Looks like you are trying to declare a variable" and "Looks like you want to print some text to the console". I'd be happy if VB could warn me about unused variables. To that note, I think that most other IDEs do a much better job of helping you program. In VS when you start a class, it gives you the class definition. In IDEs like Netbeans, it gives you a starting constructor, some comments about who created it, the date, and some other nifty things. You can even go into some advanced stuff so it can stub out some initial functions and variables.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  189. This is silly! by Anonymous Coward · · Score: 0

    I have used all sorts of tools on PCs, Macs, Unix, Linux, etc. and Visual Studio is JUST a TOOL.

    And the tool is really only meant for one thing PROGRAMMING. VS has NOTHING to do with Software Engineering, methodologies, approaches, etc.

    Maybe Charles misses the "good old days"? Well get over it Chuck!

  190. Rubbish! by Tony · · Score: 2

    I had ROM Basic, GW Basic, Quick Basic, and Power Basic. I had Borland C/C++ for DOS.

    Bah! All you children, with your fancy gizmos and whirleygigs. Why, when *I* was a budding hacker, we had to flip bits with a TIDDLEYWINK! And we LIKED it that way!

    All you kids with your fancy interactive terminals, and your 300-baud modems, and your higher-level languages. "Ooo, my BASIC is SOOOOOOO powerful!" "Logo could do that in a jiff or less!" Ha! Nowadays, you kids just don't know the first damned thing about computers! Do you!

    Why, if it wasn't for the PDP-8, you wouldn't even KNOW HOW TO PROGRAM! Face it!

    Seriously, though, back in the day, I noticed that Mac geeks generally weren't very good at general problem solving. Now, it seems the other way around; the MS-Windows nerds seem to be behind the curve in general computer intelligence. But what do I know? I just had a fight with a clerk in a computer store about whether color laser printers were better than inkjet printers.

    Like Charles Petzold (bless his OS/2-loving heart), I'm getting too old for this shit.

    --
    Microsoft is to software what Budweiser is to beer.
    1. Re:Rubbish! by PCeye · · Score: 1

      I remember when winks and squidgers were made of wood, from trees we had to cut down with dull stone axes...and all of you complain...all you whippersnappers are the same dagnabbit!

    2. Re:Rubbish! by ConceptJunkie · · Score: 1

      I remember when we had to evolve opposible thumbs before we could pick up the dull stone axes. You've led a sheltered, cushy life.

      --
      You are in a maze of twisty little passages, all alike.
    3. Re:Rubbish! by KlomDark · · Score: 1

      Evolution only takes place at the moment of conception.

    4. Re:Rubbish! by ConceptJunkie · · Score: 1

      No. It could take place afterwards...

      What if a cosmic ray flips an A to a G or a T to a C (insert appropriate genetic terminology here). If I understand correctly, there are plenty of outside influences that could alter the genetics after conception.

      --
      You are in a maze of twisty little passages, all alike.
    5. Re:Rubbish! by PCeye · · Score: 1

      Now you've done it. You've taken this thread way too far into the past...its back to the primordial soup for you!
      *splash!*

      lol!

    6. Re:Rubbish! by Anonymous Coward · · Score: 0

      Surely prior to that, when the gametes are produced? In fact...doesn't the female mammal have all eggs pre-created and then dispensed over the lifetime?

    7. Re:Rubbish! by KlomDark · · Score: 1

      Oops, yep, you're right. I was thinking along the lines of someone 'evolving themselves'.

      I think that a better way to explain what I had in mind that "evolution can only be passed on to offspring, never to the parent". Evolution in the parent is typically referred to as cancer. :(

    8. Re:Rubbish! by KlomDark · · Score: 1

      Yes, but does the actual 'evolution' take place before conception? The mutation of the gametes definitely does, but...

      It might be one of those annoying "Does a tree falling in a forest make a noise if there's nobody around the hear it?" type questions which puts us into some recursive loop about some theoretical differences between sound and vibration. (Or mutation and evolution in this case)

    9. Re:Rubbish! by ConceptJunkie · · Score: 1

      I thought you could evolve yourself by sitting on the microwave. Or maybe licking your grandad's old glow-in-the-dark watch (with radium!).

      That's the way it works on TV!

      --
      You are in a maze of twisty little passages, all alike.
  191. VS is great, so is intelli-j, eclipse, emacs.... by helix_r · · Score: 1


    IDE's are wonderful and productive things. Plain old text editors such as vi and emacs are also wonderful.

    It's the programmers and the app frameworks that they use that suck.

  192. Layer 7 ruins the brain by DaBs · · Score: 1

    It's not right to blame a tool, it's the way it's used. IMHO it's the way people embrace the abstraction in some 3GL and all 4GL languages, in general and model driven oriented design techniques that are to blame. These factors allow the rise of the Micro$oft/SUN/etc certified programmers who have no clue what happens in the real world. Yes, there are 6 more layers.. trust me.

    I'm not saying abstraction is bad. It is a very powerfull tool that allows us to complete more in less. I'm not saying model driven development is bad (I think). It allows us to bridge between the worlds of normal people and geeks. But eventually you have to understand what happens at the lower/lowest levels to be able to get a decent result. Top down only delivers when you understand what's happening from the bottom up!

  193. It DOES rot your brain by Anonymous Coward · · Score: 0

    we are talking about Pepsi right?

  194. Rot the brain? by Transcendent · · Score: 4, Funny

    Writing C code in vi will rot the brain... or make it stronger.

    In either case, something drastic is going to happen. Tread lightly.

    1. Re:Rot the brain? by Alioth · · Score: 1

      I write code in vi (well vim). Actually, I went the other way - I started out in an IDE, found it got in the way (on the particular project we were using) and switched to vim. It supported things like regexps too, which the IDE didn't.

  195. Are you familiar with a surgical scalpal? by Anonymous Coward · · Score: 0

    You can use it to repair a malformed heart and give someone a wonderful life or you can use that same scalpal to cut their neck and kill them.

    You are going to try to tell me that you can blame the scalpal for either one of those outcomes?

    Gimme a break already. Visual studio is what you do with it.

  196. Much Shorter Answer: by LFS.Morpheus · · Score: 0, Troll

    Yes.

    (If you decide to RTFA, be prepared to set aside an hour.)

    --
    The space unintentionally left unblank.
  197. Time = Money by nurb432 · · Score: 1

    In many cases in the business world, speed is more important then quality. Must get the product/job/etc out the door, now. They just dont have the luxury of time to do things 'right' if they want to stay in business.

    May be sad, but its often true.

    --
    ---- Booth was a patriot ----
    1. Re:Time = Money by Anonymous Coward · · Score: 0

      That doesn't make it right.
      I am sick to death of seeing crappy VS coded programs that require a 3 meg distributable. When I know for a fact I can write clean unbloated code that does the same thing in 300K. These fat discusting slob and crap covered programs, truly make me ill. I have very little repsect for someone who compiles from a cooky cutter compiler and calles themself a programmer. I suspect most of the people down playing Mr.Petzolds opinion have never actually read one of his books on Programming windown much less even attempted writing Windows32 binarys using the windows api from assembly. VS makes good code. If by good you mean fat and bloated and ready to stroke out from carrying so much extra baggage that the program consumes 50 times as much memory and takes fifty times as many clock cycles as it should.

    2. Re:Time = Money by tomstdenis · · Score: 1

      That's a function of bad management and decision making. It's almost always in your best interests to get things right "the first time". The trick is to get what you can fit in a product polished. Cut features if time is short but don't cut quality.

      e.g. I'd rather have that word processor work flawlessly without [say] auto-numbering figure support than have a bunch of features that work 20%. If you're stuck on a project that is "due tommorow" and you clearly don't have the time for the features required your management sucks and in the long run the product will flop [unless your big enough to just force yourself on everyone...].

      Tom

      --
      Someday, I'll have a real sig.
    3. Re:Time = Money by nurb432 · · Score: 1

      With internal projects, thats how it works most of the time:

      Too short a deadline, and you MUST get something to the user.

      --
      ---- Booth was a patriot ----
  198. It's like having someone else tie your shoes by zullnero · · Score: 1

    I just don't like it because like most modern IDEs, it tries to do a lot of rubbish behind the scenes that I just don't want it to do. All I want is to make some folders, drop some files in, and save that as a project file. No active working project directory nonsense, no saved user preferences hidden file that I always have to remove manually from CVS, none of that junk. I just want to click on a project file, and have my project opened. I don't need to see a tree view of all my classes and resources either. If I want to build or run tests through my IDE, I want to drop the path to the script file I've made to do that. Intellisense isn't really a good replacement for the API reference/object browser, which I still usually keep open while developing if I'm stuck using VS. I hate playing the .NET guessing game with the intellisense menus. I'm not a seasoned .NET developer as I work on several mobile native platforms (split between C, C++, Java, and C#). I work on several different mobile platforms, switching APIs and build environments constantly, and the one IDE on Windows I've always found that does exactly what I want is UltraEdit-32.

  199. Yes Dammit! by JPyObjC+Dude · · Score: 1

    It rots in the same way that windows proliferates stupidity.

    Give me a BSD box with a decent text editor and some decent scripting languages and I will show you something that is maintainable over the long run. Rather than some get it out quick and rewrite it next time you need to make a patch crap.

    I stopped ussing VB / Visual Stupido 4 years ago and would rather work at McDonalds cleaning grease pits than doing that again.

  200. Ugh, I can't begin to explain my hate for Studio by CrazyJim1 · · Score: 1

    All I have to say is that I did most of my coding in DOS based compilers. And when they phased out DOS in XP, my programs no longer work on modern computers. I'm forced to program in Visual Studio and I hate every minute of it. Its probably my main reason for phasing myself over to Linux: You have a pretty good feeling that Linux isn't going to 'reinvent itself' and make all your old code worthless.

  201. Interesting considering the source by beforewisdom · · Score: 1

    These comments are interesting in that they come from Charles Petzold who wrote some of the first truly pinnacle books for programming in the win32 API ( "programming for windows 95 ").

    I did that whole book. I did all of the win32 programming exmaples using just the editing features of VS.

    Even making just a basic window with win32 is laborious, so I can understand why MS made VS with all of the code generation features it did, as well as wrapping the win32 api in the MFC, and later VB.

    I am not sure, but I think I remember Petzold saying something how the MS developers at one time used various text editors, not VS, until MS laid down a "eat your own dog food " law.

    I have never been able to deal with comprehending autogeneated code and it teaches me very little. OTOH, there are times you just need to get something out.

    Maybe there are two roads you can take in programming. Quick, dirty, and bloated for a non-IT orientated place that just wants something and the slow, hard road for people who want to be better programmers, ...the kind who write the tools, but don't use them witout a corporate decree.

    1. Re:Interesting considering the source by cleduc · · Score: 1

      This is an especially interesting commentary since I hold Petzold responsible for mangling the minds of the first generation of Windows programmers. From his examples, the case statement became the most important control structure on earth.

  202. Rot the brain doesn't begin to describe it by digitalgimpus · · Score: 1

    I'm being required to take VB.net... and it does make you dumber.

    Can someone explain why lowerBounds() exists? I understand upperbounds. But when can an array have a lowerbounds that's != 0? Why is that a function?

    I just don't get why VisualBasic works the way it works. It's stupid.

    1. Re:Rot the brain doesn't begin to describe it by superpulpsicle · · Score: 1

      When I used to do VB.net, I avoided as much use of M$ libraries as possible. The only ones that I cared for were db.query type functions. It was helpful to run straight queries into a database. But lowerBound is a great example of a library being too excessive.

  203. It will end someday by Anonymous Coward · · Score: 0

    "Someday, somehow the Microsoft bashing needs to end"

    It will. When the company is broken into tiny little pieces and all that wasted programming talent is put to some good use.

    Then it will end.

    Microsoft is a gigantic money vacuum that just uses things and never returns anything.

  204. Re:yes, it does rot your brain, or at least habits by jbplou · · Score: 1

    This is the craziest thing I've read about VS in years. In VS.NET you can write fully object oriented code. Just because somebody takes short cuts and uses the drag and drop tools for RAD development doesn't restrict another developer from writing fully object oriented multi-tiered applications. This is a matter of knowing everything available. VS allows for both, just beginners never care to learn how to write could code, this a problem with the programmers not the IDE. Anything you can write in Java with Eclipse you can write in C# or VB.NET with VS.NET. Read a thread on .NET and you'll see that its just a rip off of Java, so of course you can fully object orient it.

  205. Evolution of Development-Software Factories. by Anonymous Coward · · Score: 0
    Software Factories

    Assembling Applications with Patterns,

    Models, Frameworks and Tools.

    by Jack Greenfield and Keith Short foreword by John Crupi.
    ISBN:0-471-20284-3
  206. Re:Does it? Not sure. But from experience I can sa by pthisis · · Score: 3, Informative

    The functionality you mention has nothing to do with an IDE (which is about integrating the development chain) and has been readily available in most decent programming editors for over a decade.

    * If I see a class name I don't recognize, I can control-click to go to the class definition. If the source is not attached, I at least get a view of all the method signatures.

    If you hit ctrl-t in vim, you go to the class definition (or function definition, variable definition, etc). I can't remember the keybinding in emacs, but it's in the context menu or M-x follow-tag.

    * If my code invokes a method I don't recognize, I can hover the mouse over the method and the Javadoc description of the method will pop up, telling me what the method does, what the arguments are for, and what the return value is.

    K in vim brings up the man pages or info pages for the defined function. I use it with Python docs; Java programmers use it with Javadoc. Emacs has similar capability.

    * If I'm navigating through someone else's class hierarchy, by selecting the class name and pressing Ctrl+T I can see all interfaces this class implements, and its superclasses from which it inherits methods. If I hit Ctrl+T again, I can see all classes that inherit from this class, and what classes inherit from them, etc.

    Sounds like emacs' oobr or vim's cscope interface (which is used for more than just C in vim).

    If I hot Ctrl+O, I can see all the methods callable from my current cursor position. I can also see all variables within scope.

    This is the only point that vim doesn't do by default yet (there are 3rd party packages to give similar completions, and vim 7 that encompasses this and a more powerful Intellisense(tm)-type thing). Emacs has this feature, though.

    --
    rage, rage against the dying of the light
  207. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    The bad habits an untutored beginner might learn from perl just don't carry across to most other languages. It's not like they're going to come to C from perl and never declare their variables. Perl might make for unreadable perl, but will it really make for unreadable anything else?

  208. wow... by deanj · · Score: 1
    From the article:



      In 1991, the Boston Computer Society invited me to speak on the subject of Windows programming. Since I had written a book on Windows programming -- the 2nd edition of Programming Windows had been published just the previous year -- I figured I didn't really need to talk about that. Anybody who wanted to learn Windows programming could simply buy the book and read it in the privacy of their homes.


    Instead, I decided to talk about something that people could not read about in my book. This was a subject that interested me at the time, which was how Microsoft first developed Windows, and how Microsoft and IBM then got involved in the development of OS/2, how Microsoft had convinced IBM to go graphical in the windowing environment, and how IBM decided they wanted to develop an entirely new API, and then how the success of Windows led to the eventual split between Microsoft and IBM


    Well, people went berserk. I suppose they had been expecting me to tell them everything they needed to know about Windows programming in the space of a few hours, and that's certainly not what I was interested in doing.


    Rule #1... If you're invited to speak on a topic, SPEAK ON THAT TOPIC. If you don't want to speak on that topic, DON'T EXCEPT THE GIG!


    It's pretty damn rude of a speaker to do something like that, especially when people drive to get to a meeting like that, just to find out it's not what they were promised.


    Petzold had been around the block a few times when that happened, you'd think he would have realized what a stupid thing to do that was. It's pretty damn arrogant to think that people would want to listen to whatever the hell he wanted to talk about.

    1. Re:wow... by soulhuntre · · Score: 1

      It's pretty damn rude of a speaker to do something like that, especially when people drive to get to a meeting like that, just to find out it's not what they were promised.

      Yeah, but its much better to talk about somethign else and just tell them if they want to know what you think on the topic they asked you to speak about they should buy your book.

      It's marketing, pure and simple.

      --
      --> Fight tyranny and repression.... read /. at -1!
  209. Maybe I missed something by Wil · · Score: 1

    Where are the pictures? I went through the whole article, and there's not one single picture! How am I supposed to grasp any of these concepts? Also, I hit the IntelliSummary hotkey, but it didn't tell me what I should end up thinking at the end. This article must be broken...

    --
    Wil Langford - opinionated bastard - Linux rules
  210. Ok, back in 1995 by orasio · · Score: 2, Interesting

    Maybe ten year ago, Visual Studio was great. We all used it.
    Now, we have Eclipse, and _I_ have GCJ, and SWT. And I don't need Visual Studio to make a standalone dialog EXE.
    So I don't use it.
    Or maybe it's the fact that I can use Eclipse for my web development too. And the same with Java.
    Or maybe it's that Eclipse does so much more than syntax highlighting. Refactoring is solid with Eclipse. CVS support is flawless (to the extent of the capabilities of CVS) . Working with Eclipse feels, now, the same that Visual Studio felt like back in 1995.

    That, in the technical realm, aside from the fact that Eclipse is free. As in beer, and as in, for example, being available from here to eternity (another nice side-effect of free software).
    so you will never have to retrain, or recode, or change the language you use.
    Java with Eclipse rocks.

    Of course you could use other languages with Eclipse, but that's what _I_ like.

    1. Re:Ok, back in 1995 by PlasticMetal · · Score: 0

      Java is another excuse for programming. XXI century BASIC. Nothing more, nothing less. Don't believe ? Look insiGHT!

      --
      Plastic & Metal. Is this sh*t worth livin' 4?
      Is diz sh*t worth dyin' 4?
    2. Re:Ok, back in 1995 by GeckoX · · Score: 1

      You should really give a current rev of VS before comparing a 10 year old product to a current version of eclipse.

      I don't need eclipse to make a standalone dialog EXE. So I don't use it. (wtf was that point about?)

      Look, VS 2005 does web development like you've never seen. It works with many different languages, pick your poison. Who cares if eclipse does java? How the fuck does that invalidate another IDE? Yeah, all VS does is syntax highlighting. Please. One of the best new features of VS 2005 are it's refactoring tools. Source control is built in and highly flexible. What about the fact that eclipse works with CVS makes VS a piece of crap? Really, please explain that.

      You said it yourself, and I quote: "Working with Eclipse feels, now, the same that Visual Studio felt like back in 1995."

      I'd be a wee bit unimpressed, if not down right PISSED THE FUCK OFF if I had to use VS from 1995. (Did it even exist as VS in 95? not sure) How the hell that gets translated into 'eclipse roxors, vs suxors' I'll never know.

      I'm not condemning you for being a java coder that has a preference for eclipse. I do have news for you though: Not all programming is java. Not all programming is done in eclipse. Eclipse is not the perfect solution for all programming tasks.

      How's about you introduce a little gray into your life instead of the strict black/white diet you appear to subscribe to?

      --
      No Comment.
    3. Re:Ok, back in 1995 by orasio · · Score: 1

      Read context.
      Some guy said that VS is great because it has:


      Code/syntax highlighting
      Structure/layout
      Designing graphical aspects (forms, window layouts, etc.)
      And others

      One of my favorite features is the form of auto-completion and showing function prototypes.



      I tell him that I don't need it, because I have al lthat, and more.
      I don't care if Visual Studio has more stuff, or not. I really don't care.
      I was just saying why I don't need to use it.
      For that, I said why I did have to use it before.
      I used it to make standalone EXE apps.
      I used it for syntax highlighting and intellisense.
      Now I don't need it, so I have no reason to use it, period.
      Those things were great for me, ten years ago.
      Eclipse has the set of features I thing are great right now, for me. That is the comparison.

      About black/white and grey.
      Microsoft makes proprietary software. That's black.
      I don't trust them. that's black, too.
      VS might have lots of features, but I'm not in need of any new features, because I like Eclipse. I didn't say VS is a bad choice, although I do think it is, for non just technical reasons, at least.

      There's no grey regarding this issue.
      There are two big platforms for the mid-future. .NET and Java. Java is way better in lots of non strictly technical issues, licenses, patents, source code, community.
      Only if .NET had great technical advantages over Java, it would be worth to even look at it, so I could work in narrowing the gap. And it doesn't seem to, at least by what my .NET developer friends tell me (I don't want better advice, thank you very much).

  211. Yes, YOU ARE MISSING SOMETHING IMPORTANT! by FireAtWill · · Score: 1

    It's not about you feeling that you know what the computer is really doing. If you think that you should be able to envision the assembly language that results from a distributed query that serves a web app then you are clearly a dinosaur. What it *is* about is getting a computer to do things that regular people want done. This is an area in which you admittedly have little experience.

    To paraphrase an earlier post, are you totally comfortable with what happens when you use your credit card? Do you still use it?

    Programming does not exist for programming's sake. Environments like Delphi and VS.net exist to produce solutions to problems. They're not teaching tools, they're not ego inflators, and they're not political tools.

    And if you ever decide to actually program something truely useful, you might discover that what you dismiss as 'flash and bluster' actually helps people to use computers. For twenty years I've been fighting the notion that people aren't smart enough to work with computers. The reality is that computers are still not bright enough to work with people.

    1. Re:Yes, YOU ARE MISSING SOMETHING IMPORTANT! by Anonymous Coward · · Score: 0

      Uh buddy.. there's a reason why GP was modded +5 insightful. Did you even fscking read what he said? You are jumping to huge conclusions about his technical aptitude and the quality of the software he writes and making claims about him you just can't substantiate. For all we know he could have written the Oracle Server kernel. You need to can it with the windbag diatribe. Some people like knowing what the hell is going on when they write code and these high level "flyby" languages don't cut the mustard. That's his point. Read it again and understand someone else's point of view.

    2. Re:Yes, YOU ARE MISSING SOMETHING IMPORTANT! by Dogtanian · · Score: 1

      The reality is that computers are still not bright enough to work with people.

      They're bright enough; they just feel uncomfortable around them and lack social skills :)

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  212. Re:yes, it does rot your brain, or at least habits by xTantrum · · Score: 1
    this argument really comes down to what level of the binary abstraction of computers you really want to go to. some want to know the lowest level down to just writing assembly, but then you'd forever have pedants claiming that coder isn't "hardcore" because he doesn't know how to code it in binary for a particular platform.

    I'll be honest, i already believe if your really interested in computer science. You can't go wrong with learning C and for higher level thinking learn Python. They not only compliment each other so well, but you will learn so much using both of them. Programming ultimately is about thinking and putting your ideas to code. VS and RAD tools like this, though helpful, only encourage reliance and laziness. The situation is only worsened if that individual doesn't have a foundation in solid programming skills.

    I think it says a lot though that petzhold writes a book about windows and VS and then basically bites the hand that feeds him.

    It's just me and the code, and for awhile, I feel like a real programmer again.
    i couldn't agree more petzhold.
    --
    $action = empty(PHP) ? backToC() : unset(PHP) ; "when the concrete cases are understood, the abstractions are readily
  213. Visual Studio is nice, but overrated by pherthyl · · Score: 1

    Visual studio is excellent if you're developing windows apps using windows technologies. As soon as you stray off the path a little it becomes much less usefull. I've done a lot windows programming with it, and visual studio is great, but since it's meant to develop with the windows tools, the overall experience isn't that good. For example, I recently discovered Qt, and now I'm faster and more efficient developing with Qt without a debugger or intellisense than I ever was with MFC and visual studio. Maybe I'm just stupid, but MFC and WinAPI is the biggest pile of inconsistant, crufty garbage I've ever had the displeasure of working with.

    Visual studio is a good tool, not because it's all that great, but because the competition sucks even worse.

  214. Code Penance by MicroSharmuta · · Score: 1

    I've been using VS2005 for six months, and with Team Services it's beyond impressive the collaborative development environment MS has created (not that there haven't been unpleasantness in the install process for the betas). Maybe I'm not a true geek, and so I'm really not trying to redundantly use five operating systems and learn the nuances of every single platform (so I can't compare VS to much than some Macromedia web dev environment). Really, I thought the definition of a tool, is as an enabler and to make life easier. We can't all be coding gods, nor can we be trained to be...there's a element of snobbishness in the my code is purer than your IDE code.

  215. Counter Counterpoints.... by Savage-Rabbit · · Score: 1

    Second, any code editor is a tool. In the end, they are a fancy way to create text files to compile into binary. There are people who use VS to write code without understanding what it's doing behind the scenes, just like there are people who drive without knowing how an internal combustion engine works.

    Finally, there are people who hand-write all their code, waste alot of time, and still write bad code.


    I have written several C# programs in Windows using nothing but the 'vi' editor, GNU tools and various freely available Microsoft development tools and their free compiler. I suppose you would argue that this is wasting time but I feel that I learned something from the experience. (never mind the endless amusement of VS monkeys reaction to the realization you can write complex applications in a Windows commandline window without paying a red cent for flashy development tools) What I gained from this waste of time is that I am now able to work my way through all sorts of code including the auto generated crud many VS monkeys avoid touching with almost religious reverance. Not all of us hand writing code monkeys write bad code and not everybody who drives a car and spends some time finding out how an internal combustion engine works is wasting their time either. You will discover the truth of that soon enough if you ever have your car break down on you in a remote place where you can not quickly summon somebody, with your mobile phone, who has wasted his/her time finding out what makes an internal combustion engine tick. You and I have an irreconcilable difference in philosophy. Perhaps one has to be a 24 carat nerd to be willing to waste ones time on understanding how the tools one is using actually work? From my point of view wasting my time on this pursuit makes me a better professional since it better prepares me to deal with the unexpected.

    --
    Only to idiots, are orders laws.
    -- Henning von Tresckow
    1. Re:Counter Counterpoints.... by boatboy · · Score: 1

      You misunderstand. I enjoy figuring out how stuff works, too. I've hand-written apps and know exactly what VS is doing behind the scenes for me. My first truck was a 76 IH Scout with a 340 and I knew every nook of it. Whenever I've gotten vehicles since, the Hanes manual is my first purchase for it. But I have the good sense to use good tools when I can- whether I'm writing code or fixing my car.

      No, my point isn't that one shouldn't ever code by hand, just that there are plenty of people who do, and frankly still write bad code. A good developer should know his tools and apply them appropriately to the project he's working on.

  216. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Get over yourself.

    "I tried to turn him on to coding, but he went out and got Visual Studio, and went off on his own."

    Sounds like he did exactly the right thing... it sounds like your prejudices are getting in the way. His limitations were his limitations, he'll overcome them, but he needs the same epiphanies that we all have as programmers to advance his capabilities. These things all start somewhere.

    Even if VS is like sugar for the brain (which it most definitely is not), then what exactly is the harm in doing things the wrong way for a while? Eventually, if it's a path you're bound to go down, the underlying wizards, designers and other gizmo's that real programmers use to save themselves a lot of time and heartache will become tools for good instead of evil as the user begins to understand the limitations and mechanisms behind them.

    Use the tool -> observe the tool -> learn the tool -> use the tool.

    The 'bag VS brigade' are quick to point out all the bad things that can be done with it, but never really focus on the incredible tool it is in the hands of an experienced developer. Bad things can be done with any tool, and the choice of tool doesn't in any way correlate to the skill of the developer... just because you use emacs and a blow torch for a build system doesn't mean you're code is going to be any good. If anything, tools like VS, Xcode, KDevelop, Anjuta, Eclipse etc etc etc give the green developer a leg up for a while, even more so if they are a skilled developer migrating to a new language.

    Don't ever be afraid to use these things because it's not cool... what is really cool is being able to deliver an application that works.

  217. Vim buffer completion by sashang · · Score: 1

    Hmmm...I have the same problem with Vim's buffer completion that he has with VS Intellisense. In order for it to work it requires that the name of the function or variable be in a buffer that is open. This imposes a bottom up programming approach on me and makes me dumb.

  218. Interviews by Botia · · Score: 1

    These days it seems like if someone can use Visual Studio they call themselves a developer. It makes it hard to screen out people by their resumes. If I see VB on a resume, I usually assume they can't program. If they have C++ I assume they can. While these are broad generalizations, we need some way of determining who can actually program without interviewing every candidate.

    1. Re:Interviews by Average_Joe_Sixpack · · Score: 1

      While these are broad generalizations, we need some way of determining who can actually program without interviewing every candidate.

      Not sure where you work, but when I use to interview early on in my career taking a PAT was a given. I remember attending a career open house for a bank IT position where a good 300 hundred of us were welcomed with a blue book, score sheet form and a #2 pencil. It's been a while, maybe they've done away with aptitude tests since for political reasons??

    2. Re:Interviews by Botia · · Score: 1

      I use a cognitive ability test on all my candidates. The problem is that this does not occur until we have a face to face interview. At that point I'm looking at 1-2 hours of my time. It would be nice if recruiters would do this step for me. I may look into using an online test although from personal experience these are somewhat lacking and full of errors.

  219. Re:yes, it does rot your brain, or at least habits by yourexhalekiss · · Score: 1

    Crap. I'm learning Perl as my first programming language. .... Am I screwed?

  220. Re:yes, it does rot your brain, or at least habits by Mr.+Underbridge · · Score: 1
    But, taking stuff apart doesn't make you brilliant

    Sure doesn't. But putting stuff back together after completely fucking it up, before your parents get home, is a pretty good sign. ;)

  221. Death to Metaprogramming. by Anonymous Coward · · Score: 0
  222. This story needs a Petzold-ignorant-poster filter by mihalis · · Score: 1

    Those who don't know who he is, really have nothing interesting to say about his talk. It's not as intrinsically interesting if you think he's "just some guy".

    Petzold discussing whether Visual Studio rots your brain is a bit like Yoda saying people need to cut down on all that Force nonsense.

  223. Re:yes, it does rot your brain, or at least habits by Jeff+Hornby · · Score: 1

    I'd say this kid is just not interested in programming.

    You said that his efforts had "nothing in the sense of real programming". What did you expect for a first effort? A full RDBMS system? A true artifical intelligence? A solution to the halting problem?

    And if he thinks that having to write code is stupid, maybe he just has no real interest in being a programmer.

    --
    Why doesn't Slashdot ever get slashdotted?
  224. Re:yes, it does rot your brain, or at least habits by NutscrapeSucks · · Score: 1

    Without getting into the argument about Hungarian, Microsoft invented it and it their recommended style for weak-typed languages. So you can't pin that on Petzold or whoever.

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
  225. Re:Shut up DINOSAUR by prof_tc · · Score: 1

    Would it be so hard to gently urge someone onward, give them some books, show them some code that you deem worthy. Two of the major ways to learn code, IMO, is writing stuff yourself, screwing up, and fixing. The other is to study functional, quality code.... I've seen few books on programming that don't have some code in them, at least the ones meant to teach programming, as opposed to a reference book.

    I learned fundamentals of coding before I tried to make pretty windows. I use VS, and I use the pretty window maker... to save some time on the base coding. I then proceed to change things to my liking. The API designer is a shortcut for experienced programmers, theoretically to save them time. If you don't like it, don't use it. As for the kid, maybe you should be showing him how the API works. Then he could start picking apart the code.

  226. Re:yes, it does rot your brain, or at least habits by NipsMG · · Score: 1

    This kid didn't learn how to code on Visual Studio. He learned how to draw a GUI. Visual Studio, while a great RAD tool is NOT JUST a GUI designer. However, anyone learning how to "code" by getting visual studio and using the tutorials is learning only that, how to draw and hook up GUI components.

    Had this kid gotten a respectable book on OOP and C# he would have picked up more than enough to get himself on the way using OOP concepts (Hell, I learned in EIFFEL!). Starting on C# is just about as good as starting on Java. I'm sure there's fanboys on either side, but C# and Java are so friggin syntactically close that it really doesn't matter. Java SHOULD NOT have thrown this kid for a loop if he had actually learned anything about writing code. Java is goddamn easy. (Especially Java5).

    Visual studio is a GREAT IDE. I don't know about you, but I don't consider spending 3 hours writing code to do what I can do visually in 5 seconds something that makes me a great coder. It makes me freaking stupid for not choosing the right tool for the job.

  227. It's a tool but... by jupiter_ganymede · · Score: 1

    VS was designed for the VB crowd. It allows people to be able to produce results fairly quickly, but it is very easy for inexperienced developers to get in trouble.

    At a company that I used to work for, I had to decide on a new technology direction that would allow us to develop web based applications. The developers I had inherited were Access programmers who had no web or OO experience. I'm primarily a Java developer, but given the capabilities of the developers I felt that they would be more productive in the short term with c# and ASP.Net. With some training and a lot of hand holding they were able to start developing web applications and services fairly quickly, probably a lot faster then if we had used Java. A lot of this speed could be attributed to VS and how simple Microsoft makes it to develop applications (albeit simple ones).

    The problems came when they had to do something a bit more complex, where they could not rely on VS to help or do it for them. The tool makes it easy to do simple things without understanding what is going on under the hood but many times you really need to have that understanding to be able to accomplish the task or keep yourself out of trouble. Just like in the 90's when power users started using VB and calling themselves programmers, VS lets inexperienced people write programs. They just aren't very good programs and anything too complicated will soon become a big mess.

  228. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Because the professor/boss says to use it, and its free?

    Although if I had a choice, I'd probably go with something less bulky. I havent done a GUI in the 3 years I've used VS.net, and I don't know if it will ever be more than a textpad on steriods.

  229. An easy rout to limit your programming efforts by JoeCommodore · · Score: 1
    Some of the plug and play features and manual quick-start guides, as nice as they are, make the programmer less aware that there may be better ways to accomplish tasks.

    I can't talk for VS.NET, but back when I playing with FoxPro2.6, and was adapting my distruted database system to it. I once responded to a discussion that "Doing a Distributed system was 'impossible' with FoxPro." I responded that if you don't use the wizards you can code it to do just about anything, his reply: "Well, that's cheating." I think others probably have such a tunnel vision view of "if it can't be done with a MS wizard it probably needs more updates or can't be done."

    I am sure most folks are right when they say the tools are top notch but probably the procedures that people are taught to use with it are not.

    --
    "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
  230. Visual Studio ain't bad by Quickfingers · · Score: 1

    I currently program in C, C++, Java, C#.net, VB.net, and C++ .net. There is nothing wrong with learning programming in Visual Studio. Also, just because you can type printf in C doesn't mean you are a better programmer than someone who creates windows apps by clicking and dragging. Why in the world would you want to create stupid ass console apps when you can create apps with buttons and textboxes and menus? If you don't know object oriented programming after using Visual Studio it is your OWN fault not the ide's. An IDE makes programming easier, but if you are a good programmer the interface matters NONE. Good programming comes from practice and if Visual Studio motivates me to practice more then that is great.

    1. Re:Visual Studio ain't bad by cyborg_zx · · Score: 1

      Why in the world would you want to create stupid ass console apps when you can create apps with buttons and textboxes and menus?

      I can think of many, many programs where a 'stupid ass console' is far superior to the cruft of a GUI. And no, you don't HAVE to be a *nix head to appreciate - even in the world of Windows console programs can be far more useful than a GUI one.

      Buttons, textboxes and menus are, or should be if you're using good design, irrelevent to your actual program. I rarely start any project as a GUI - I design the program first then I design the GUI as a convenient way to interact with it. The best designed programs are apathetic with regards to how they are interacted with.

      After all, that is what GUI stands for: Graphical User Interface. And hence an interface it should be - not the main thrust of the exercise of programming. If VS is telling you this is a stupid and oldhat way of doing things that's http://www.infidels.org/news/atheism/logic.html#no vitatem.argumentem ad novitatem and is certainly something that is wrong in that case.

  231. gcc and bash and Vim rot your brain by Linknoid · · Score: 2, Insightful
    I've been using command line tools since my freshman year in college on our HP/UX machine with vi, cc, and csh. Then someone gave me their old computer with Redhat installed, and I transferred my skills to vim, gcc, and bash. I was also taking programming classes, using stuff like Turbo Pascal, Delphi, Visual C++, in addition to our Unix programming on HP/UX.

    But I just have a hard time actually accomplishing useful programming in an IDE enviroment. Delphi was an exception to that. I got a student version of Visual Studio.NET my first year of graduate school, but I just got too frustrated trying to actually do any programming in it. When I discovered MinGW and the ability to create Windows native programs with gcc, I completely ditched trying to use Visual Studio at all. My brain has been rotted, I have been spoiled and I can't deal with the horrible complexities of trying to get an IDE to do what I want.

    I can build my makefiles up from just a couple lines like "all: gcc file.cpp" to 20 or 30 lines as my project grows. Have you ever tried to edit the project files, or move a manually built project into Visual Studio? Trying to create the necessary files manually is pretty much impossible, and I don't think it's even possible to import projects whose makefiles were created by autoconfig/automake.

    As long as everything works in your IDE, it's fine, they're usable, but when you try to do something outside the boundries of "common and expected tasks", well, give me a brain rotting command line any day...

  232. Re:yes, it does rot your brain, or at least habits by Jeff+Hornby · · Score: 1

    yeah. pretty much. i suggest that you switch to cobol.

    --
    Why doesn't Slashdot ever get slashdotted?
  233. "People aren't stupid" by Herby+Sagues · · Score: 1

    The guy disqualified himself with that comment. Maybe people around him aren't. But go to the streets and look around. Go to your office payroll department and look around. Even go to the White House and look around. You'll find lots of stupid people there. And, unfortunately, they are the vast majority. The two most common things in the universe are hydrogen and stupidity -- Harlan Ellison. There are 10 kinds of people. Those who understand binary. and those who don't.

  234. C complications by Z34107 · · Score: 1

    C isn't "complicated." It's just that BASIC is retarded. I mean, really, in the "real world," you will never have to make a starry background. C (and especially C++) allow the perfect mixture of high- and low-level elements. In fact, in C++, you can mix machine language and derived classes in the same function if you were so inclined.

    And, *no*, you do not have to understand anything about rendering black or whatever. No Fourier transforms or 11-dimension existentialism either. (The only "strings" for you are null-terminated char arrays!)

    Anyway, your code in C:

    #include <iostream>

    #include <stdlib.h>

    #include <time.h>

    using namespace std;

    int main(int* argc, char** argv) {

    srand( (unsigned)time(NULL));

    for (;;)

    if ( rand() % 100 == 1)

    cout << '.';

    else

    cout << ' ';

    return 0;

    }

    Written in Microsoft Visual Studio 2005, by the way. Sorry for the formatting, the <pre> tag is evidently disabled in slashdot

    Not really that much more complicated. Just a few more lines, most of that formatting to be pleasing to the eye. Not only that, but it's faster and provides more flexibility. What if you don't want to seed the random number generator and want the same numbers each time? Very useful for debugging more sophisticated programs. What if you want input from the command prompt to determine the number of loop iterations, or the frequency of "stars?" No problem in C/C++.

    So, the point: Sure it's a few lines longer, but it's

    • Faster.
    • Stronger.
    • Better.
    And, most importantly, it's not using a dead, worthless language.

    And, at the end of this post, *god* do I need to take a deep, cleansing breath and lay off the zealotry. :-D I guess my point is that there is definately no need of "rendering black."

    And, barriers to entry are good. It keeps stupid n00bs out of my programming classes. :-D

    Peace.

    --
    DATABASE WOW WOW
    1. Re:C complications by I+Like+Pudding · · Score: 5, Insightful

      Perl isn't "complicated." It's just that C is retarded. I mean, really, in the "real world," you will never have to make a starry background. Perl (and especially Ruby) allow the perfect mixture of very high- and high-level elements. In fact, in Ruby, you can mix in modules and polymorphically redefine derived classes in the same function if you were so inclined.

      And, *no*, you do not have to understand anything about rendering black or whatever. No Fourier transforms or 11-dimension existentialism either. (The only "strings" for you are scalars!)

      Anyway, your code in Perl:
      perl -e'while(){print int rand 99.99?" ":"."}'

      Written in a term, by the way.

    2. Re:C complications by glavenoid · · Score: 1
      Another pedantic, nitpicky point...
      Since you seem to be using C++, I don't understand why you are using the *depreciated* C-style .h <include>s
      it should be:

      #include <cstdlib> // and
      #include <ctime>

      Also, the first parameter to main() is not a pointer to an int, it's just a plain int... And since you didn't call any command-line arguments, main should have been called like:

      int main() // <- no parameters...

      Furthermore, you don't NEED to have main return 0. That is now implicit in C++, unless the programmer declares otherwise.

      Sorry, just sayin ;P

      --
      I, for one, am looking forward to the inevitable /. beta rollout fallout.
    3. Re:C complications by ameline · · Score: 1

      I don't know about your world, but in mine, you need to know about fourier transforms and sampling theory (in addition to a good helping of linear algebra). So while I may not be doing starry backgrounds, I am making significantly more complex images than that. (No string theory, though.) And C, C++ and sometimes assembler are very good at that sort of thing.

      Just because your world is uncool, don't assume everyone else's is equally so :-)

      --
      Ian Ameline
    4. Re:C complications by I+Like+Pudding · · Score: 2, Funny

      I was both poking fun at the parent and using my reply as a vehicle for Perl one-line obfuscatory hotness. Please to be grounding yourself contextually in future endeavors, effendi.

    5. Re:C complications by Anonymous Coward · · Score: 0

      Another pedantic, nitpicky point:

      Are you implying that C-style .h includes are going down in value or price, or did you mean deprecated?

    6. Re:C complications by fingusernames · · Score: 1

      He was using some amorphous entity called C/C++.

      using the *depreciated* C-style .h s

      Say, what was the depreciation period for the C-style #include values? :-)

      Larry

  235. The basics by gorrepati · · Score: 1

    What people forget most here is, you are what you grow up on. If your basics are right, then tool for writing code is not a big deal. There have always been programmers who code 50X faster than other mortals.My professor uses Emacs to such an extent that once he famously said "When are people coming up with emacs on bios, because thats all you need". He is atleast 30X faster than me.

        Teach CS students C(because it gives a good idea of how hardware works), Java(gives a very good idea of code reuse), and a functional programming language like Scheme or ML(its more mathematically intuitive and beautifully recursive). I have learnt functional programming last, and God it has undone many of my bad coding practices thus enabling me to write code faster (around 2X). I think students should develop a taste for good code and enjoy it.

              Finally in the job, you can learn the libraries (And consequently suffer from some brain damage :)). Learning(Memorizing) libraries and using them a lot does not make you a better programmer. Many of students who do that are just taking a short-cut for getting a job.

    --
    You will never have experience until after you needed it.
  236. Re:yes, it does rot your brain, or at least habits by Nasarius · · Score: 1
    Their code looked like the Microsoft samples.

    Oh dear god, that gives me nightmares. MFC, Hungarian notation, C++ spaghetti code that makes absolutely no use of classes, and an API from hell.

    Do you know if things any better in these days of C# and .NET? I've never had the time to look into .NET because all the Windows code I write has to be backwards-compatible with NT4. I've heard good things, like maybe the API has some kind of organizational structure now.

    --
    LOAD "SIG",8,1
  237. Python works well as a first language by know_op · · Score: 1
    I teach a high school programming class, and I start them out using Python. Sure, there are other similar programming languages like Perl and Ruby that work in similar ways. However, I feel that in my experience, no other programming language translates quite as well to the English language.


    When learning a new language, people generally link the new language back to the first "real" programming language that they learn. I don't mean BASIC or Pascal, I mean Java or C++. You try to find the commands that do the same thing as "cout" or "echo". When you code in Python, which was designed to be very close to the English language, when you read your code aloud, you end up almost reading a generic algorithm, that when applied to other programming languages, actually makes sense. You are giving students a vocabulary that they can use to do that translation step when they learn their second, third, etc. languages that won't mess them up too badly.


    By the way, after a semester of Python, I teach them Visual Basic.NET, which they love for about two days until they realize that the code underneath the fancy GUI elements can't be easily translated to common sense English. However, they can figure out how to do the basic programming structures in the language.

    1. Re:Python works well as a first language by TastesLikeChicken · · Score: 1

      thank you, thank you, thank you, thank you, thankyou thankyou you are a humanitarian of the highest order.

      --
      Until our children are no longer molded into castrated sheep democracy remains a fake and a danger. -A. S. Neill
  238. I think people may be missing the point by Dan_Bercell · · Score: 2, Informative

    All the fancy wizards are for people who dont program for a living or for putting together quick demos..etc I dont think many people will/would actually use the wizards for large products as the code maintnance would be hell in the long run. I believe that eventually VS.NET will be close if not easier for a non-programmer to make a small database app/Office app similar to MS Access. (You would need a little knowledge, but the wizards would do most of the work). Some people who either hate MS or hate the fact that coding has been made a lot simpler will resent this, but this is normal for most technologies. I remember about 2 years ago when I was in college, a classmate told me that programming against .NET felt like it wasnt really programming, he prefered C++. I dont know why he would say such a thing, but the amount of time it takes to write a program in .NET compared to most other languages is huge, which is probably why the framework has grown so much and will continue. Personally I dont use the wizards often because they generate too much code that is not needed. This was susposed to be changed a bit in the next version, also more wizards are should be added, so I may have to bit the bullet try them out again.

    1. Re:I think people may be missing the point by Anonymous Coward · · Score: 0

      What...that is absurd. Isn't "compiling" the act of taking lines of code (just as a wizard takes screens of input) and transforms it into assembly???? It may never result in the most efficient assembly, but who wants to write 100 lines of assembly when they only have to write 2 lines of C ???? Visual Studio wizards are just macro compilers on a much larger scale...

    2. Re:I think people may be missing the point by Dan_Bercell · · Score: 1

      Sorry but I have no idea what you are replying to. Feel free to add a quote next time.

  239. Re:yes, it does rot your brain, or at least habits by SenatorOrrinHatch · · Score: 0

    intuitive interfaces interefere less. 100 years from now people will look in horror at thousands of lines of gibberish and instantly realize why most programs are so poorly executed. try doing calculus with roman numerals and you'll see why their math was so primitive for so long.

    --
    The Christian in me says it's wrong, but the corrections officer in me says, 'I love to make a grown man piss himself.'
  240. God sake...more whining dinosaurs by Anonymous Coward · · Score: 0

    Would you Unix Dinosaurs quit whining. Geez.

  241. GCC = Vendor Lock In by Anonymous Coward · · Score: 0
    Just try doing a variadic macro and __attribute__() with Visual C.

    I once tried to see if I could try building a certain OSS project in Visual C and couldn't because of the high amount of GCC-specific extensions used.

    In all seriousness, VC allows people to write crappy code, but if it somehow prevents you from writing good code, then you are a crappy programmer. I actually do a lot of OSS work on Windows; I debug with VC because it has the best debugger, and do release builds in MinGW.

    1. Re:GCC = Vendor Lock In by Anonymous Coward · · Score: 0

      I know you're ha-ha-only-serious, but it still needs to be said: People who write portable code use compiler-specific macros instead of using extensions directly. Those who don't, suffer lock-in.

      In the case of gnucash, I suppose the authors don't view portability to other compilers as a worthwhile objective, since gcc meets all their requirements and is controlled by the same organisation (just as I'm sure Microsoft doesn't bother making sure Windows builds with gcc). This shortcut can of course bite you later, but that seems especially unlikely in this case since gcc is freely available in source form and is therefore unlikely to go away or become costly to obtain, the usual problems with lock-in. Code can be unportable in many ways, but reliance on gcc is probably one of the least expensive shortcomings to work around. Plus, if it makes you unhappy, you can always change the code yourself. This has got to be one of the weakest examples of lock-in I've ever seen.

      Also, aren't macro varargs now a part of C99? It seems that VC ought to support them.

    2. Re:GCC = Vendor Lock In by Anonymous Coward · · Score: 0
      but it still needs to be said: People who write portable code use compiler-specific macros instead of using extensions directly. Those who don't, suffer lock-in.

      You are 100% right; truthfully my comment was more of a jab at the parent poster equating Visual C's extensions with vendor lockin. Pretty much (if not) all of Visual C's extensions fall into this category, or they are things that make no sense outside of windows (like #import and #using, which are COM and .NET specific respectively). While it is true that #import-ing a Windows specific COM component is lockin, this is similar to using something from GTK+ (and despite what people seem to insist, GTK+ apps look really shitty on Windows and Mac)

      Also, aren't macro varargs now a part of C99? It seems that VC ought to support them.

      Hey looks like you are right! My Visual C is four years old, so it is not there. To be honest I'm not sure if they are supported yet.

  242. Re:yes, it does rot your brain, or at least habits by Nasarius · · Score: 1
    Yeah - I originally learnt to program (in Turbo Pascal and C) in a self-directed manner, and I had the same problem as the kid you talk about. It wasn't until many years later at Uni, that I finally learnt to program.

    Same here. I was programming for seven years (C and C++) before I got to university and actually learned what the hell I was doing. I'd love to see some books aimed at the hobbyist/student that teach basic CS (simple data structures, OO concepts, etc) while they present a programming language.

    --
    LOAD "SIG",8,1
  243. Re:C++ complications you mean? by xeoron · · Score: 1

    Not to nitpick, but:
    cout statements are not in C, but in C++. If you were to print output to stdout in C, you would be using printf.

  244. The year is 2005 by Anonymous Coward · · Score: 0

    As technology progresses, one would hope we move on from the old programming paradigms of "code-by-hand", and adopt more evolved methods of development. Remember COBOL? COBOL was an excellent language in its time, but today its nuences of fixed column areas is arcane. Development languages and environments should progress with the times; Visual Studio.Net and the .Net Framework attempts to do this. VS.Net isn't perfect by any means, but I have to say that in my experience across many platforms and languages, it is probably the most efficient method of developing Windows-based applications. Programming SHOULD be more drag and drop, more automatic: it's quicker to produce and less error prone.

    There are certainly some applications that deal with low-level system aspects that still need to be developed in a language like C, and an appreciation of those fundamentals certainly doesn't hurt for any good developer - however, for a growing number of applications and programmers shouldn't need to care: do you have an appreciation for every transistor your programs are touching?

  245. Bottom up Force from the Top Down ... Or Freedom. by twitter · · Score: 1, Interesting
    They allow and perhaps encourage, but they don't force anything...

    You don't have to read far into the article to see what he's talking about, so I suggest you do that instead of jerking your knee like that. There's real force here by the very nature of closed source. The whole way the code base is acquired and maintained leads to this. The inner ugliness of greed, selfishness and paranoia is manifesting itself in a horrid tool that you will have to use if you want to play their game.

    The author notes that Microsoft's API now includes some 60,000 methods and properties, an impossible number to get your head around without an aid. The aid is IntelliSense. I'll let him take it from here:

    And yet, IntelliSense is also dictating the way we program.

    For example, for many years programmers have debated whether its best to code in a top-down manner, where you basically start with the overall structure of the program and then eventually code the more detailed routines at the bottom; or, alternatively, the bottom-up approach, where you start with the low-level functions and then proceed upwards. Some languages, such as classical Pascal, basically impose a bottom-up approach, but other languages do not.

    Well, the debate is now over. In order to get IntelliSense to work correctly, bottom-up programming is best. IntelliSense wants every class, every method, every property, every field, every method parameter, every local variable properly defined before you refer to it. If thats not the case, then IntelliSense will try to correct what youre typing by using something that has been defined, and which is probably just plain wrong.

    ... To get IntelliSense to work right, not only must you code in a bottom-up structure, but within each method or property, you must also write you code linearly from beginning to end just as if you were using that old DOS line editor, EDLIN. You must define all variables before you use them. No more skipping around in your code.

    Sure, you can program without Microsoft's new autowrong tool. I can hardly stand typing text in an editor that changes things for me, and I know such a tool would drive me nuts

    But then where are you? There's not a man page and a book, the author points out, would be 1,000 pages long. The Cathedral is Byzantine indeed, and you might as well abandon Microsoft all together as soon as you abandon their tools. This mess is undoubtedly pathologically redundant, full of bugs and represents the zenith of non-free programming. People who are not free to share their work duplicate it all day long and Microsoft has amassed it all by purchase into a giant Frankenstine. Yet, in typical Microsoft style, it's "Do as I say and be grateful." The control freak that Bill Gates is made manifest.

    Like you, I have to dissagree with him about the inevitability of this kind of hen pecking. The purpose of higher languages and code reuse is to allow abstraction. A proper tool will give us hints based on natural language questions about what we want to accomplish, much the way a experienced human mentor does today. You give it a flow chart, it comes up with answers. Instead of locking us into an insane framework, it will offer us rational choices of methods that work and let us zoom into and modify details as we see fit.

    You won't find a tool like that coming from Redmond, ever. They do not want you to understand or modify their code. They simply want you to use it. Anyone who can understand their mess is looked on as competition, to be purchased or ruthlessly exterminated.

    All of this is consistent with the Microsoft way and the result is what you see, a network overrun with spam and botnets, friendly only to those who think they own it.

    --

    Friends don't help friends install M$ junk.

  246. Preferences by gmerideth · · Score: 1


    Well, the debate is now over. In order to get IntelliSense to work correctly, bottom-up programming is best. IntelliSense wants every class, every method, every property, every field, every method parameter, every local variable properly defined before you refer to it. If that's not the case, then IntelliSense will try to correct what you're typing by using something that has been defined, and which is probably just plain wrong.

    I wonder, if in all of that typing, at any point, this guy was ever taught, or even poked around the Tools->Preferences option to discover that you can, with about 9 mouse clicks...turn off intellisense.

    And it's still rather easy to write detailed and if need be complex applications without intellisense.

    And I dont quite get the, if I have a local variable called id that I reference VS will attempt to show me something similar to it. Mine doesn't. If I dont declare a variable 'id', then it wont appear in my method member list, simple. Intellisense has yet to 'try to correct me'.

    --
    Why do overlook and oversee mean opposite things?
  247. Re:yes, it does rot your brain, or at least habits by Z34107 · · Score: 5, Insightful

    Everyone here seems to be under the impression that Visual Studio hides the source/nuts and bolts/inner workings from you. It doesn't. You can program assembly and K&R C if you so wish. (Using Visual Basic/J++/C# is a different thing, but that's more of an argument against those languages than Visual Studio.)

    Granted, you can draw a dialog box by hand, but you can also create that dialog by assigning an HWND to point to the result of a CreateWindowEx(). You can also manually code your own .rc resource scripts and use the MAKEINTRESOURCE macro. Do whatever makes you all warm and fuzzy inside, but don't say Visual Studio is t3h n00b! shift+1

    --
    DATABASE WOW WOW
  248. It's the productivity, stupid by ApolloCreed · · Score: 1
    I see the same kinds of things coding java everyday. Eclipse makes it ridiculously easy to write java code -- if you know how to use it.

    I'm currently showing 4 experienced vb 6 professionals the joys of eclipse. They have all taken introductory classes in java and already have a grap of OOD. I haven't used MS dev tools since VC6, but I'm assuming VS2005 is in the same league as a well decked out eclipse (think myeclipse).

    Imagine if you had a socket wrench that put the right socket in place as you held the wrench near a bolt. Now imagine a socket wrench that lets you move the position of the threaded hole connecting two pieces. It also tells you the structural properties of the connected pieces and their functions. You can easily see what else they are connected to and how integral they are to the system. The refactoring, javadoc in place, quickly finding references, autocomplete, etc. can be empowering as well as overwhelming. These things make it (perhaps too easy) to drastically change your design, but they are becoming a standard in IDE's, so we're not likely to go back to the old days. I have worked with lots of architects who think there will eventually exist a code generating UML tool that works well and makes it obvious the impact of such changes. I hope that happens. I know vendors have been producing tools with this goal for a few years already.

    I agree that creating app's with little or no detailed implementation is a recipe for a toy prototype, but turning your back on modern tools (like eclipse!) is just ridiculous. A professional, competent dev should be empowered to make these changes as quickly as is possible to do correctly. Eclipse makes this possible, and if VS 2005 does too, more power to 'em.

  249. Strange... by ninja_assault_kitten · · Score: 0, Troll

    My experience was exactly the opposite. Until maybe 2 years I had never even attempted to write an application in or for Windows. VI was my lord and C/Perl/Python my New Testiment then one day after feeling somewhat deflated with what my GTK apps were looking like based on the effort put into them, I decided to venture into the world of Visual Studio just for a taste. The results were not what I expected...

    After a few short days of using Visual Studio I really started to come out of my shell. While I had used IDEs like Visual Age before, they never really appealed to me, VIM was about as close as I felt I'd ever get to a GUI IDE. Now all that had changed. Visual Studio just made it easier to focus on what I was here to do, write an application. I was simply more efficient and I took it upon myself to attempt a somewhat large project to really get my hands dirty.

    I decided to port a large distributed network analysis application I had written for FreeBSD using a combination of Perl, C and PHP in C# using ASP.NET, Windows Services and some WinForms. This project had taken me approximately 1.5 years to complete on the UNIX side of the house and I was planning on re-writing every line of code for Windows. Quite simply, what took me 1.5 years to write in UNIX with VIM, took me a little over 6 months with Visual Studio and the help of .NET. But things didn't stop there. Not only was the application dramatically enhanced, but it was much more scalable and robust.

    Don't get me wrong, I still code in VI and most of my client/server apps have Linux/FreeBSD support, but my IDE of choice is definitely Visual Studio. No question.

    1. Re:Strange... by Monkey · · Score: 1

      Not sure why you were modded a troll here. Your post was pretty insightful I thought.

  250. Visual Studio Pros and Cons by msgyrd · · Score: 2, Informative

    I'm a computer science student (3rd year), and we we're forced to use VS.Net in a class last semester. Having done some pretty spiffy things with it, I really have mixed feelings. I'm normally a gedit, GCC and terminal type of guy, so I wasn't overly excited for that course. After 5 months of heavy .Net usage, these are my feelings.

    Pros:
    It's a wonderful project management program.

    The syntax highlighting and the step through code abilities were nice.

    Creating command-line programs was actually easier than ever before.

    MSDN.com is, surprisinigly, a really awesome resource for information.

    Cons:
    Creating a gui for a program was utter hell. When you start a program that has a gui, there's a bunch of code that gets written for you that you have zero control over. There's no comments explaining why it's there, and vague errors given if you mess some of it up. This may also be because the only GUI programming I've done prior to .Net was tkinter with python and XCode on my Mac. .Net is much more complex than the python, but not nearly as polished as XCode.

    The compiler seems a little fragile. Given that I'm not a stellar programmer, I make some syntatical errors every now and then. GCC can usually handle these, or give me useful information about what I did wrong. .Net just crashes and burns. If you're lucky, it'll pop up a box telling you what line of code failed in some closed source file you can't examine, or if you can examine, is worthless cause there's no comments anywhere. If you're not lucky, .Net will take the whole system down. If you're neither lucky or unlucky, you can use .Net like you would normally use GCC in any situation.

    Again, I'm only a moderate programmer, so maybe if code just clicks for you, .Net won't be to bad. My overall oppinion of it is "bleh". I've used better, but I've certainly seen worse (Boa Constructor comes to mind). It doesn't promote good coding habits, but that's not really the IDE's main purpose in my oppinion. Your teachers or book should do that. .Net is good for those willing to put up with it, but for the OP's sake, drag and dropping objects does not a computer scientist make. Hell, I've got computer science professors that can't actually program, but they can write pseudocode for optimization problems for NP-complete problems without stopping to think.

    Computer Science != programming. .Net != programming teacher/book.

    1. Re:Visual Studio Pros and Cons by Dan_Bercell · · Score: 1

      All your pros/cons were valide and probably similar to anyone else who has actually used Visual Studio.

  251. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    re well said. It seems many from the old school days have a tendency to hate an IDE for the same reason they consider GUI just eye candy. All they focus on is the drag and drop stuff, colors and buttons. Its far deeper than that, but if you dont get it, you probaly never will.

    First off there is something completely inefficient about recoding the same things over and over such as UI elements and so forth, Seperating UI logic from the core logic is one of the key elements surrounding the use of a good IDE and platform. For those still in the VI world building CHUI (character apps) how would you know any better? You've been inefficient for the last several years.

    Secondly, I could throw eclipse or any othe cutesy java IDE at a new programmer and make the same argument. The fact is, if its a Microsoft IDE most of you on slashdot just want to raise a stink. The reality is that Visual Studio combined with C# (not just VB) is one of the most powerful, produtive IDE suites around. Now that some of you have graduated beyond considering an IDE a text editor with colored buttons, maybe the lighbulbs will come on, but there is a lot of dim light in the slashdot world.

  252. Re:C++ complications you mean? by Z34107 · · Score: 1

    Lawl, thanks. I'm an anal-retentive nitpicker, so your pointer is appreciated. :-D Printf is a function, and cout is an instance of an ostream, I think. It's just that basic_ostreams and multiple-inheritances turn me on...

    --
    DATABASE WOW WOW
  253. Noted for Win dev pubs; now Win dev IDE rots brain by Money+for+Nothin' · · Score: 2, Informative
    Petzold literally "wrote the book" on Windows programming. While not discussing programming per se, using the Visual Studio IDE is increasingly-useful in Windows development. Regarding that aspect of Windows programming, he writes:

    Even if Visual Studio generated immaculate code, there would still be a problem. As Visual Studio is generating code, it is also erecting walls between that code and the programmer. Visual Studio is implying that this is the only way you can write a modern Windows or web program because there are certain aspects of modern programming that only it knows about. And Visual Studio adds to this impression by including boilerplate code that contains stuff that has never really been adequately discussed in the tutorials or documentation that Microsoft provides.

    It becomes imperative to me, as a teacher of Windows Forms programming and Avalon programming, to deliberately go in the opposite direction. I feel I need to demystify what Visual Studio is doing and demonstrate how you can develop these applications by writing your own code, and even, if you want, compiling this code on the command line totally outside of Visual Studio.

    In my Windows Forms books, I tell the reader not to choose Windows Application when starting a new Windows Forms project, but to choose the Empty Project option instead. The Empty Project doesn't create anything except a project file. All references and all code has to be explicitly added.

    When MSFT's best Windows development author starts complaining about MSFT's development environment, MSFT had better wake up and take notice...
  254. Bull.... by fitten · · Score: 1

    After you've written the code 10 times to create a button in your GUI, how many more times do you need to do it? Do you *really* learn anything new that 20th time you implemented your button code?

    Do you have to memorize every function in a library, including the parameters that they require? Why not have something that can instantly bring up the information for you? You remember the operation and it simply reminds you of the parameters.

    Tools like VS take the tedium out and let you quickly get to the meat of your application. Why spend tons of time writing stuff that you've written a thousand times before and is pretty much cookie-cutter anyway? These types of things scream to be automated. Drag-n-drop buttons and the code is made for you is the way to go. Spend your time on the hard parts of your application - the parts that you are *really* writing the application for in the first place.

    Use automated tools to build the cookie-cutter parts of the GUI and application and then sit down and write the real meat of the application. It doesn't rot your brain, it relieves/removes the tedium typically found in writing code.

  255. Read the footnotes... by jbrocklin · · Score: 3, Interesting

    It was at the bottom of the page as a footnote:

      1It was the late 70s. I was working for New York Life Insurance Company at 51 Madison Avenue, programming in PL/I on an IBM 370 via TSO (Time Sharing Option) and an IBM 3278 terminal. I was using a new-fangled "full-screen editor" called FSE to edit my source code. At one point I pressed the Backspace key and instead of the cursor moving backwards as is normal, the entire screen moved left one character, including the frame of the editor, with the beginning of each line wrapping to the end of the preceding line. It was as if the entire frame buffer shifted. I pressed the Backspace key a couple more times, and it did the same thing. Then it started going by itself, with the lines circling around the screen and right up through the top until the screen was entirely clear. Then we called the IBM repair guy. I was very eager to tell him what happened and hear his diagnosis, but that's not they repaired 3278s. Instead, the repair guy had a box full of spare circuit boards. He swapped them in and out of the machine until the terminal worked again.

  256. Z80 assembly ftw! by Z34107 · · Score: 1

    Yay! <3! I thought I was the *only* nerd alive who knew Z80 asm. I mean, it's the only way to go if you want to write calculator games...

    ...and hence, why calculator games should be the intro programming class. I mean, really, it's something most n00b programmers want to do, it teaches from the ground up (no "omfg wtf si t3h piontr wtf" later on) and it'll give a proper appreciation of of why efficient coding is important. It would also weed out those hooligans who think computer science is just an easier way to get a math credit than learning math...

    --
    DATABASE WOW WOW
    1. Re:Z80 assembly ftw! by stevey · · Score: 1

      There are a lot of ex-z80 users around in the UK as the ZX Spectrum was insanely popular.

      I'm just pleased I chose z80 to start with instead of the alternatives such as 6502. As the z80 and x86 instruction sets are very similar it continued to be useful to me as I moved onto PCs from the microcomputers in the 80s. (I think Zilog was helped by an influx of ex-Intel developers, it might be the other way round though!)

      Even now I can still remember the opcodes and mappings (e.g. 195 = jmp, 201 = ret) from patching games without the benefit of an assembler or disassembler!

  257. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    So you learnt to program at Uni, eh? I guess grammar wasn't part of the process...

  258. Windows a la Unix by cheezit · · Score: 3, Interesting

    I had the a double stroke of good fortune when I learned Windows development:
    1) I worked in a shop that did cross-platform development with core libraries that had to compile and run across various Unices and also Windows (95 and NT 4.0 at the time).
    2) someone turned me on to Petzold as the best place to start.

    Petzold's uncompromising focus on the code and away from the tools (like VS) allowed me to get used to doing things the "hard" way---rolling my own message handlers, hand-editing .rc files, etc.---instead of using VS's horrible tools like the godforsaken "ClassWizard". And while it took more time in some cases, it allowed me to carry over lessons from the Unix world. Between that and "Deep C Secrets" I was feeling good...

    Unfortunately, the advent of COM/COM+/DCOM prevented this approach from working for too long. For instance, magical precompilers that generate binary files that must be linked into your project to make it "just work"---I'm looking at you, "tlb."

    --
    Premature optimization is the root of all evil
  259. Re:yes, it does rot your brain, or at least habits by Arandir · · Score: 1

    Code/syntax highlighting
    Structure/layout
    Designing graphical aspects (forms, window layouts, etc.)
    And others


    Actually, Kate plus Designer does that.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  260. Re:yes, it does rot your brain, or at least habits by 2short · · Score: 1

    I think you missed the part where I dated myself; lets try again: I don't have it anymore, as all my cassette tape stored data were destroyed in the mid 80s when my kid sister taped over them in what I call the great Cyndi Lauper debacle. Nor do I imagine you have the (TRS80) hardware it ran on, or that you would want it if you did. This is my first program ever we're talking about. It wasn't a "mapper" for dungeons. It had one particular dungeon hard-coded into it; not as a big aray of data, but coded into the very control logic of the program. Modifying it is not a thing you would want to do. It didn't draw you a pretty map. It wrote out extended-ascii box-draw charachters that looked like a map if you squinted right.

  261. Re:yes, it does rot your brain, or at least habits by Belial6 · · Score: 1

    Do you also smelt your own iron for your pots and pans just to make sure your dinner turns out right? What about those tires on your car? They are a safety device you know. Do you vulcanize your own rubber? The parents example is very good, in that it is safe to assume that factory produced products from reputable companies are going to be made with at a reasonable level of quality. If IKEA desks were "falling over without warning the first time your friend, who doesn't 'get' desks, tries to use it...", even one in a thousand, you would hear about the class action lawsuits. IKEA would be out of business, and the parent wouldn't have used that example.

    So, given that your example simply doesn not happen, we can assume that the parent made a very good and valid example.

  262. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    What's wrong with my grammar? I sure hope you're not refering to my use of the word 'learnt'..

  263. Re:yes, it does rot your brain, or at least habits by ToasterofDOOM · · Score: 1

    No, you'll be fine. You're just jumping in head first. I would suggest Python as it's a lot cleaner/elegant and of similar power. You are just starting out with a stick shift instead of an automatic.

    --
    I am Spartacus
  264. Petzold's number puzzle example by bzipitidoo · · Score: 1
    Q: What's the largest integer divisible by its digits, and that has no duplicate digits? And which doesn't have 0 either.

    A: Write a program to figure that out? Pshaw! It's 9867312.

    Largest number it could be is 987654321. But, starting with Petzold's observation that the number can't have both a 5 and any even digit, we drop the 5. Then, I recall a math trick to tell if a number is divisible by 9: the sum of its digits must be divisible by 9. 987654321 is divisible by 9. Dropping the 5 means we have to drop at least 4 more, so we drop the 4 (or the 3 and the 1). So, the number can't be larger than 9876321. Then, because there are even digits, the last digit has to be an even digit, so it can't be larger than 9876312. After that it was easy. Tried each number that fit all those requirements, in decreasing order. Only had to try about 10 numbers to hit on one that worked.

    --
    Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
  265. Re:Shut up DINOSAUR by ToasterofDOOM · · Score: 1

    Yeah. Java? nearly as fast as C or C++?

    Most. Painfully. Ignorantly. Sun sponsored. Comment.

    EVAR.

    --
    I am Spartacus
  266. Re:yes, it does rot your brain, or at least habits by 87C751 · · Score: 2, Interesting
    Oh dear god, that gives me nightmares. MFC, Hungarian notation, C++ spaghetti code that makes absolutely no use of classes, and an API from hell.
    And let us not forget the wonderful code examples given in the Microsoft documentation that you can cut'n'paste into a project, where they will compile without error and then fail silently at runtime. (CreateFile, anyone?)

    But then, what do you expect from an outfit that believes a BOOL is tri-state. (one would have thought that would have been fixed by now, but nooooo....)

    --
    Mail? Put "slashdot" in the subject to pass the spam filters.
  267. Re:yes, it does rot your brain, or at least habits by Bedouin+X · · Score: 1

    I agree that there are a ton of Visual Studio whores out there, but it all depends on how you learn the tool. The guys who initially tried to "sell" me on VS.NET did so claiming that everything was so "easy." I didn't use it because the things that would have truly made it easy (like populating datasets and binding them to web controls) still required some manual code when even Dreamweaver (which has a HORRIBLE .NET implementation) had managed to do this without. So I said to hell with it and I bought a great book called ASP.NET for Developers that showed you how all of .NET plumbing works and how to set everything up manually using a plain text editor.

    After a year or so I started using Visual Studio to organize and compile my assemblies but I still didn't use it to write code. I finally moved over because of the IIS debugging features, but I hand code everything and dont screw with that drag and drop crap. As such it is light years ahead of what I was doing before and I really like it but I would hate it if my introduction to ASP.NET was though VS.NET.

    I do understand the criticism though. I have tried some of the RAD features and they are lame. As best as I can tell, they are totally worthless with an object-oriented middle tier and it generates woefully inefficient CSS. But still, as a glorified text editor, it does ok.

    --
    Dissolve... Resolve... Evolve...
  268. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    "Designing graphical aspects (forms, window layouts, etc.)"

    Window layouts?!?!?

    What layouts? You got fixed point layout (with anchors), or the equivalent of a border layout. Try to do something simple like the equivalent of a java FlowLayout or BoxLayout with VS.net. You'll either be coding the layout manager yourself, or buying a 3rd party solution.

  269. Robert Pirsig said it better... decades ago by Anonymous Coward · · Score: 0

    Yes, like most other technology today, Developer Studio lacks that capital-Q Quality.

    Zen and the Art of Motorcycle Maintenance.

  270. designing and discussing forms as a lifestyle by theonewho · · Score: 1

    aiko aiko,

    20 years of windows forms -- where are we when the best and brightest of us
    spend their lives in such minutiae? coding skills such as this could have provided
    *real* tools rather than interfaces for the entertainment of the masses of computer
    slaves -- perhaps that is unfair but ...

  271. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    I started off learning Java programming around the age of 14, I found some tutorials on the Sun Microsystems web site on how to compile manually and spent far too much time trying to figure out how to make a jar file. No one had ever tought me any concepts of reverse engineering, if they had things might have gone a little faster.

    I got rather proficient with the programming language and before long someone introduced me to the JCreator ide which does take care of compiling and running the code for you, as well as handling projects rather than having you edit makefiles; however, there is no click & drag GUI builder so it still doesn't do too much for the developer.

    A few years later I decided to switch to C++ after I got well into Linux and started liking KDE more than Windows. Obviously for consistency with my favourite desktop environment I chose the Qt toolkit and started working with that, but I only used Qt designer from then on to build the user interface and handle makefiles and project files.

    About a year later I finally got a reasonable computer science course at school, not the low budget MS Office 101 course, but rather a Visual Basic course for Computer Science 20 and J#.net for Computer Science 30. I was disappointed that we had to use J# instead of the real Java, but even more disappointed when I saw that the kids taking these two computer science courses were learning what a syntax, standard library and api was, but once they finished the courses they still didn't know what a compiler was or how to use it.

    Sadly I suffered much the same in trying to learn Qt; I got too dependent on having Qt designer handle 90% of the work for me, and when Qt 4 was released with the designer stripped down to just that (only a GUI designer) I couldn't write anything that would compile any more, and now I can't even remember enough to use Qt 3. I'm now considering an alternative toolkit such as wxWidgets simply because it doesn't usually come with a full blown GUI designer and as such I won't be tempted to take shortcuts.

    Tools that handle all the work are generally bad when you are still learning, or aren't well pracised. Later on I might start using KDevelop, but right now KWrite, Konsole and GCC are my friends. I learned first hand not to pick tools that make the job easier than it should be, you can't depend on those to always be there, or to remain consistent, and you don't learn many of the necessary skills by using them.

  272. Re:yes, it does rot your brain, or at least habits by PickyH3D · · Score: 1
    That was because the kid messed with Visual Basic, having no idea what was being grouped with what, and how.

    Using an IDE to program for you will NEVER give you a grasp of programming. Cookie cutter tools will create cookies. If you then build on TOP of those tools, then you can quickly implement SOME very simple-but-elegant interfaces in short periods of time.

    Also, VS does not prevent you from implementing advanced interfaces (your own advanced controls).

    I mean, hell, id Software even releases its source code [e.g., Quake anyone?] with VS project files. Any big Windows product probably uses VS.

    Drag-and-drop has its place. It accelerates development on things that really shouldn't be taking you time. I don't need to WASTE my time coding a dialog button over and over again, when I can just drop it in and have the IDE plug in the code for me. Now, if I did not understand how the IDE was mapping the object creation and the event handling, then yes, I agree that that is partly dangerous. At the same time, if I were a beginner, I no longer need to know, or more to the point, care what is happening. As long as the IDE is putting it into an efficient form (which it does, in the case of .NET, all controls get created in the "Initialization" function), then why should we care once we know what happens? It's a waste of time.

    The understanding of what is happening behind the scenes (automatic code creation, which not only is the wave of the future, but is also a very good way to avoid errors in rudimentary code) can and should be taught in introductory programming courses and books, which I would hope anyone picking up coding would take or read. Automatic code creation leads to a quicker understanding of the basics, once the code creation is explained, even in C++. It's all moot though, if you don't understand the syntax (which seems like it would be a problem with the kid).

    Why is your friend's son becoming a better programmer? Because he is being taught how to be one. It has nothing to do with the IDE (as a matter of fact, I would say using Eclipse is a negative and I have always found its interface to be a bit less than intuitive, but I realize I'm in a minority here). Really though, experience is the key fundamental to most programmer's success. He probably would have eventually gotten annoyed with making tiny little VB apps and would have branched off to either something more advanced that would require a deeper understanding so that he would find it, or simply jumped to another language, which would have more obviously linked his GUIs to code (since prior to VB.NET, VB did not really show you where the GUI was being set up in terms of code, but you could see that information by opening the *.frm file in a text reader).

  273. Re:yes, it does rot your brain, or at least habits by prell · · Score: 1

    Is it just an issue of approaches? I mean, in my (C.S.) programming classes, we learned data structures and algorithms and how to write satisfying solutions to problems. From a "Software Engineering" standpoint, though, those kinds of activities may be irrelevant. The focus there may be on error handling and user interface design, for example.

  274. Re:yes, it does rot your brain, or at least habits by Timothy+Brownawell · · Score: 1
    As of 4 years ago, my college was all Unix workstations (mainly Sparcs) for their programming classes. Not a minor school either, UIUC.
    Big, and also one of the top few for CompE. And they're replacing their Sparcs with Sun AMD64s running Red Hat.

    Tim

  275. Sapir-Whorf and Programming by soren.harward · · Score: 1

    So basically, the IDE/no-IDE argument is a rehash of the Safir-Whorf Hypothesis, just framed in programming terms. And just like the SF Hypothesis, it's still unresolved.

  276. Wait just a cotton pickin minute......... by tmortn · · Score: 3, Insightful

    Are all of you bobble heads agreeing its a good thing to get back to c and 'Feel like a real programer again' really saying you want dejure coding to be re-inventing the wheel everytime you start an app? That for the umpteenth time you will re-create X set refferences and little functions etc.... ?

    No, people who do that (code in lower level languages) build their own "RAD" system with their own code snippets as they build their tool box over time. And in that system EVERYONE has a different hammer, different screw driver and diferent voltage meter and none of the damn things work alike.

    All this guy said in so many words was that he dosn't like the way M$ did it.

    I do agree that VS's habit of saying hands off this code is beyond fucking annoying and borders on down right criminal. That being said I have found no examples of a bar across my path when I want to do something down dirty and hands on. The system is just not set up to do it so it is even more cumbersome than it would be otherwise to get at the gutz. The IDE is what has problems with messing with the designer code... if you don't use the designer and edit your code elsewhere and link it yourself (something he admits elsewhere is possible) then this is no longer a problem. He praises using his own choice of editors in one situation and then in a backhand way is annoyed that the VS environment dosn't provide what he wants. Fine, use something else if you have a problem with it.

    The reality is that modern systems and modern graphical environments have a shitload of dumb overhead programming to be done to handle the stupid ass forms. No matter how you simplify the refferencing system someone is going to complain that if you don't do it all yourself you don't udnerstand what is going on. If you want to redefine forms more power to you. But the power of computing is that once YOU do it that means eveyrone else can easily benifit from it and they do not have to repeat your work. All VS does is leverage all the work done through the years on windows forms in an easy to access and implement manner. It is a GOOD thing that you can punch out a program in a week now that would have taken months if you had to manually handle all the form operations. Remember... all code generated by someone else is like other drivers on the road... if they are going faster they are idiots and if they are slower they are numb nutz. Just think of the generated code as another memeber of the coding team and get over it. You just can't do it all yourself. If it is truly atrocious enough to change then make the effort, else shut up and get on with it.

    There is and always will be a time to go back to the drawing board. At others you reap the benifits of what has come before and enjoy the fact that what once was hard and the domain of the few is now easy and achievable by all. VS is fantastic at bringing application development to the masses. It accomplishes its goal. If that goal isn't what you want then damnit don't use it or figure out a way to adapt it to your purposes. But for crying out loud would eveyone stop bitchign that the thing is not all things to all people.

    --
    I don't ask you to be me. I only ask you not expect me to be you.
  277. Re:yes, it does rot your brain, or at least habits by TapeCutter · · Score: 1

    "The incompetence of CS teachers lately has surprised me"

    As they say, "...those who can't, teach.". There is no more reason to include the project files than there is to include the makefile for *nix.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  278. Re:yes, it does rot your brain, or at least habits by zbend · · Score: 1

    Ummm thats a lame excuse to attack an MS product. You can't build a real application in VS by dragging and dropping, you need to learn a language. Who cares that he started with VS, it didn't get him anywhere but it didn't hurt either. He might as well have been writing the great american novel or something its not helping him learn to program and develop but its not hurting either so who gives a shit?

  279. Re:yes, it does rot your brain, or at least habits by noisymime · · Score: 1

    yes, but you don't say that you 'built' the desk when it comes from IKEA do you? Someone else built it, you just put it together. Same thing with many VS apps.

  280. Re:yes, it does rot your brain, or at least habits by I+Like+Pudding · · Score: 1

    Yeah, the guy essentially tried to teach the kid basic arithmetic by handing him a calculator, then was shocked when he couldn't pass the test without it.

  281. Absolue Rubbish by Explodo · · Score: 1

    Why bash Visual Studio because you can quickly and easily write a GUI using it? Who here really feels that writing a GUI is any sort of software engineering? If you mainly write GUIs using APIs, you have no business calling yourself a software engineer. You can be a programmer, or some other name, but never attach "engineer" on it. When you get down to writing algorithms to solve complex problems, then you can start using "engineer". At that point, Visual Studio is just a handy IDE that's VERY well documented and can be configured to do whatever you want it to do. Who cares if you never use 90+% of the tools available in Visual Studio? As long as you can write fast, efficient, and correct code, it doesn't matter where you write it.

  282. Re:yes, it does rot your brain, or at least habits by glavenoid · · Score: 3, Interesting
    And I agree compleately with this.
    The important thing, For what it is designed for is exactly right on the button.
    VS and VS.NET, are *primarily* rapid application development environments. They try to serve the developer by offering all the cool intellisense mojo and whatnot, and try to serve the employer of said developer by trying to make said developer more productive.
    I for one think that MS does a pretty damn good job of this...
    However, I can see the validity of Mr. Petzold's complaints. The code that VS and VS.NET generates can be rather obtuse at times. Intellisense can get REALLY annoying. Sometimes it really does feel like VS is trying to hijack one's code, but you know what? We as developers don't need to use it. I often find myself using some arbitrary text editor and calling the freely downloadable win32 SDK or .NET SDK to develop Windows applications.
    And I like it this way.
    But when my employer comes around and asks me why I've spent the last hour hand rolling a complex dialog with property sheets and all that ballyhoo, when using the Dialog Editor or Windows Forms Designer would have taken ten minutes, what do I say? "Uh, I'm just pining for the days when men coded their own resources, with their teeth!"

    But then again, I had trouble finding my belly button today, so maybe VS really does make me stoopider...

    --
    I, for one, am looking forward to the inevitable /. beta rollout fallout.
  283. VS doesn't restrict anything by hikerhat · · Score: 1

    I've use visual studio 6 and visual studio.net. Near as I can tell, every key on my keyboard still works, so I can type anything I want into my text files. There isn't anything VS keeps you from doing. But it does help you get the boring boiler plate stuff done fast so you can focus on interesting programming problems. Writing a GUI isn't an interesting programming problem, and I don't want to waste my time on that.

  284. Re:yes, it does rot your brain, or at least habits by deaddrunk · · Score: 1

    Since VS doesn't generate your business logic and since that's the most important part of a business app, I've got no idea how not having to work out your GUI placements on a piece of graph paper or having to hunt through manuals/search the web for that method you can't quite remember the name of makes you any less of a programmer. Even in my former career as a mainframe programmer we used a screen painter and could get a list of APIs from Quickref.

    --
    Does a Christian soccer team even need a goalkeeper?
  285. Re:yes, it does rot your brain, or at least habits by mibus · · Score: 1

    Shoulda started with Perl. Everyone knows Perl is the best language for learning quality programming skills.

    He wanted to learn to code, not to emulate a serial modem.

  286. Re:yes, it does rot your brain, or at least habits by BenHill · · Score: 1

    Come on, guys. Anyone who has done any serious programming in VS.net, knows that there is much more to it than drag and drop cute little widgets. Our organization doesn't use this stuff at all...we deal with the actual code (C# specifically) and never touch the draggy droppy stuff. The widgets are available for those "hobbyists" who want the easy solution, but there is just so much more there. More power to those hobbyists, I say - at least they are venturing into the world of programming. If they want more, VS certainly allows for them to delve *much* deeper. This mindless anti-everything MS bigotry is just so very tiresome and annoying and reflects ever so poorly on silly posters who talk about environments of which they haven't the faintest clue. It is the very worst of /. ignorance - blatant bigotry and elitism without facts and investigation. So please...just stop the crap. Stop the ever loving crap!! This rank ignorance just reflects ever so poorly on the entire software development community. Can't we all just get along?

  287. Re:yes, it does rot your brain, or at least habits by robertjw · · Score: 1

    Nah, perl is actually great. You just may be annoyed later in life when you have to declare variables, have to decide if you want an int or a float, or just generally create anything that needs to be maintainable and readable. I'd recommend using strict mode. It will help you write cleaner code and teach you some better habits.

  288. Re:yes, it does rot your brain, or at least habits by 2short · · Score: 1

    "I originally learnt to program (in Turbo Pascal and C) in a self-directed manner, and I had the same problem as the kid you talk about. It wasn't until many years later at Uni, that I finally learnt to program."

    Every good coder I know did it this way. What I don't understand is why half of them think others should skip the self-directed thrashing about and skip straight to the learning it the right way. Learning it the right way is great once you've discovered the joy of creation/control/whatever but run up against the limits of your self-discovered techniques. I've never heard of someone who had never done any coding on there own, took some classes, and was worth a damn.

    If visual design tools get somone interested in programming, and they eventually discover wizard-generated code they don't understand is causing them problems, the ones who are destined to be good coders will decide they must understand it.

    In any case, everyone talks about "flashy wizard generated dialogs" as if this is all VS does. I don't even make dialogs. I just use it for the excellent text editor, pretty good project management, top of the line C++ compiler, awesome debugger, nicely configurable interface, etc. Frankly, as IDEs go, VS kicks ass. It's like a giant, vastly comprehensive toolbox; and everyone here is complaining that rachet based sockets teach you bad habits, you should only use crescent wrenches (which the toolbox actually also has). I don't know for sure, because I'm doing woodworking; but I suspect they are full of it because the chisels, saws and drills are first rate.

  289. Re:yes, it does rot your brain, or at least habits by locokamil · · Score: 1

    Let's be honest... I just recently moved from editing in xemacs to ms visual studio... went back after a few days, and found myself wondering why the little scrollbar wasn't coming down to tell me what members were part of my struct. :)

    Visual Studio saves time, but at the same time, it denudes skills honed over an extended period of time.

  290. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Getting along fine without your Makefiles?

    I have never heard of "*nix". How do you pronounce this?

    Are you sure you know what "Unix" is?

  291. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    I've seen others after they've been allowed to "learn what they want, how they want". And you know what the result was? An almost drug-like dependency on an IDE, with little to no understanding of programming. These types of people are useless outside of a Microsoft shop.

    And this isn't their fault, it's just the way they've been taught. The Microsoft way is to throw as many programmers at a project as possible until it is done. Quantity over quality.

    Don't get me wrong; there are plenty of extremely smart Windows programmers that use VC and have an extremely good understanding of programming. However, the majority of Windows programmers that I've seen churned out of schools nationwide fit the mold I described above: not actual programmers, but expendable, replaceable cogs in a machine.

  292. Re:yes, it does rot your brain, or at least habits by LegendLength · · Score: 1

    The calculator is certainly the faster way, and in my professional life, I will likely use a calculator over adding fractions by hand, but when you are learning the fundamentals of mathematics, it is much more important to understand what's going on than it is to simply get the right answer.

    I for one wouldn't agree with that. I can see why it would be more productive to give fraction learners calulcators.

  293. Re:yes, it does rot your brain, or at least habits by nastyphil · · Score: 1

    I will posit something here: In my experience, problems with interface, whether it's physical presentation or the logical design of the human-computer interaction are a much more *common* factor in making software unusable than bad code per se.

    Perhaps we need a generation of developers who think first in terms of human - machine interaction and supporting processes?

    I'm not say this is a substitute for good code, just that we need to think about it.

    --
    Dialectician. Archology.
  294. House built on sand by Anonymous Coward · · Score: 0

    Using anything that Microsoft claims to be a programming tool is like building your house on sand on the beach. At the whim of marketting and the malicious, misanthropic Microsoft business managers, the interface will be eroded away below you and your house will be destroyed.

    Microsoft has never played fair with anyone who used their tools. They compeat with the peole who use their tools, eat their lunch, steal their ideas and then claim that they invented it all.

    Microsoft is a monopolistic pig of a company and I will never ever buy their 'tools' ever again. They are greedy and selfish and totally against any programmer who isn't part of their mafia.

    If you use what they provide you are a fool

  295. Re:C++ complications you mean? by autOmato · · Score: 1
    If you were to print output to stdout in C, you would be using printf.


    Or in this case putchar. I mean, why call a function that is capable of rather complex string formatting if you're just going to print one character.

  296. Re:yes, it does rot your brain, or at least habits by KinkyClown · · Score: 1

    I started out with a handicap: started programming BASIC (Microsoft GWBASIC) when I was eight. I learned real programming (C++) in collage. Then learned Java in 'the real world'. And now? I am back at programming in Microsft: C#. Only difference is: my colleages use the design mode and wizzards, everything I create is a code library.

  297. Re:yes, it does rot your brain, or at least habits by NeoKalus · · Score: 1

    Right on brother. It really just *is* another way to look at the docs... At least all the features I use. ;)

  298. Do you work for Apple? by Anonymous Coward · · Score: 0

    You could just as easy fire up an old C64 and hook it to your television: debuggers are nothing new ;) Synatax Error on Line 10.

  299. Rediculous! by Now.Imperfect · · Score: 1

    I started off with PERL, then moved to PHP... and that was before I knew HTML.

    Tell yo uthe truth, the whole drag-and-drop thing never seemed like "coding" to me. It seemed like.... a waste of time.

  300. Debugging on Linux by Anonymous Coward · · Score: 0

    Having said that, I hate having to program with Visual Studio. It's like a great big book of usefull spells, but they are written in invisble ink :o)

    Since I'm using wxWidgets for my OpenSource applications, I use VisualStudio quite a lot, even if I intend my applications for Linux. This is because there isn't any useful debugging tool on Linux. GDB: Only Make has as similar bad command mode, DDD: Crashes more often, Eclips: Never been able to install it for wxWidgets, Anjuta: Haven't come to test debugging. I've looked several times at any IDE listed at freshmeat.net but 90% doesn't even support debugging and therefore don't deserve the predicate IDE! I ask when is there a usable debugging tool on Linux?

    O. Wyss

    PS. You can view my with VisualStudio created Linux application via wyoGuide.

  301. You're a loser by Anonymous Coward · · Score: 0

    Do you code in .NET, Java, VB, Perl, Python, Ruby, Guile or whatnot? If so, I'm sorry to report to you that your level of programming incompetence is high. You're a loser wannabe programmer!!!

  302. Re:yes, it does rot your brain, or at least habits by Wavicle · · Score: 1

    As long as we're telling stupid prof stories...

    There is a professor at my school who teaches a class at the tail end of the CS curriculum that all CS majors must take. The problem is the guy who teaches it seems to have given up understanding of all scholarly pursuits of CS some 20 years ago. The class consists of him showing us PPT presentations and giving us articles from "experts" in such a way as to pre-suppose that we are not qualified to engage in a scholarly discussion on the merits or demerits of something he hands out. I've become so irritated with this teaching style I don't care that I annoy the prof. Upper division major courses *should* be a forum for critical thinking and exploration. So anyway...

    A couple weeks ago we went through an "identify all the test cases" exercise with a simple problem: a function which classifies 3 side lengths with whichever type of triangle they could form. It was basically looking to see if you could identify boundary conditions and negative test cases.

    My suggestion to test lengths of MAX_INT or (MAX_INT/2)+1 was pooh-poohed because the infallible software testing guru who wrote the exercise didn't find such a condition a necessary test.

    However the obvious negative test case - three side lengths that could not form a triangle did need to be tested. Someone asks "well how do you determine that those sides could not form a triangle?" The Prof shoots back "If the sum of any two sides is less than the value of a third side." So I call out "you sure you don't want to test MAX_INT?" The prof paused a couple moments, then ignored me and continued on. The whole class let out a nervous laugh.

    Apparently testing gurus don't always remember that integers overflow, and that fact shakes the foundation of some Prof's world.

    --
    Education is a better safeguard of liberty than a standing army.
    Edward Everett (1794 - 1865)
  303. Visual Studio for large programming projects? by CortoMaltese · · Score: 2, Insightful
    ...IDEs are a great tool for managing larger programming projects.

    Last time I looked (and admittedly, this wasn't recently), the IDEs on Windows always brought dependencies on the particular user's environment. Dependencies such as absolute file names, environment variables, registry settings, etc. For the solo programmer, this may not be a big deal. But in my job, every single member of the development team has to be able to build the exact same binary from the same sources. The dependencies on the environment made this practically impossible, and we switched to using command line compilers/tools and GNU Make (which also has its wrinkles, but that's beside the point). In addition, the project files containing the compilation options etc. were usually binary files, and the actual changes to them from version to version were painful to trace.

    My question is, have these issues been addressed in recent versions of Visual Studio? If not, I really couldn't recommend it for managing larger programming projects with more than one developer.

    1. Re:Visual Studio for large programming projects? by greggman · · Score: 1

      VS Studio, at least since version 6.0 has had no problem with relative paths. It defaults to relative names.

      Most programs when using external libs hard code the references (directX for example) but there's nothing that requires them to be hard coded.

      You can either define them as global includes/libs (similar to Unix and the INCLUDE/LIB env vars) OR you can reference them through environment vars directly per project using $(SOMELIBENVVAR) syntax which is how I usually do it.

  304. yada yada - and Al Gore invented the internet by cliveholloway · · Score: 1

    *good* Perl programming is just as good a start as anywhere else. Send 'em to Perlmonks and leave'em to it.



    Ticketmaster basically wrote Template Toolkit. And of course, their web site sucks ass. Obvious really. Whenever i hear the Perl trolls, I just remember Paul Graham's quote about Viaweb (Yahoo! shops):



    "During the years we worked on Viaweb I read a lot of job descriptions. A new competitor seemed to emerge out of the woodwork every month or so. The first thing I would do, after checking to see if they had a live online demo, was look at their job listings. After a couple years of this I could tell which companies to worry about and which not to. The more of an IT flavor the job descriptions had, the less dangerous the company was. The safest kind were the ones that wanted Oracle experience. You never had to worry about those. You were also safe if they said they wanted C++ or Java developers. If they wanted Perl or Python programmers, that would be a bit frightening-- that's starting to sound like a company where the technical side, at least, is run by real hackers. If I had ever seen a job posting looking for Lisp hackers, I would have been really worried."



    Learning LISP is on my list. It's weird. But LISP is the latin of programming. Learn that and everything will fall into place.


    Fucking Perl trolls.

    --
    -- Trinity in high heels carrying a whip: The donimatrix - there is no spoonerism
    1. Re:yada yada - and Al Gore invented the internet by spongejim · · Score: 1

      The only reason Perl is considered "bad" is because you can actively (sometimes even passively) write a program that no one but yourself will understand. That's a reflection of whichever primate happens to be at the keyboard, not the language. I learned Scheme in university and although it starts out feeling strange and inefficent to write, you eventually learn its benefits and appreciate the elegance involved. It's more like learning to write equations in postfix notation (later in life) - at first it looks like a jumbled mess, but once you learn it you realize that it's not so crazy after all.

  305. Re:yes, it does rot your brain, or at least habits by Bill+Dog · · Score: 1

    Java is not cross-platform, it is a platform. If you write to the Java platform, your code will/can only run on that platform. Same as writing to the Win32 platform. At my first job in addition to the Wintel boxes running Windows NT we also had a DEC Alpha RISC machine running NT for Alpha, which we recompiled our code for and tested on. I didn't suddenly rejoice that Win32 was "cross-platform".

    Java is cross-OS insofar as there's a VM available for it on the target OS. Similar to C++, which is cross-OS for all OS's that have C++ compilers.

    --
    Attention zealots and haters: 00100 00100
  306. Eclipse does Top-down too! by Anonymous Coward · · Score: 0

    One reason I use Eclipse is because of its top-down support. If I write a class that doesn't exist with a couple of clicks I can create a new file with the class in it (that's great if you create a lot of new types of exceptions for example).

    Also if you invent a method you can click on the error and make it generate the stub for the method. I can't live without this stuff.

    Also if your projects have 1000s of classes it's easy to call Ctrl-Shift-R and partially type the class name and enter and it takes you to the class. (I never click thru the packages anymore.. it's too slow)

  307. Finding Balance by Anonymous Coward · · Score: 0
    Lets use a car analogy. You can have a a car that consists of basically an engine, tires and a steering wheel. And as long as they are of high quality you could say it serves it's purpose and it's well built, but there is no comfort. On the other hand you could have the most comfortable, shiny and fancy car in the world but under the hood it might have a lawn mower engine, tie rods about to snap and bald tires. You have to combine the best of both scenarios to create a car that people will drive comfortably and safely. We are in the 21st century and there is no reason computer applications can not be both shiny on the surface and elegant, stable and well designed under the hood.

    Thats the new paradigm.

  308. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    It's utter rubbish to suggest that a software program is responsible for people being lazy. Visual Studio allows you to create standard controls and layouts very quickly without having to do all the grunt work of repeating code you've entered into a million projects before.

    With Visual Studio you can still get access to the C runtime and the Win32 API's, and you can add assembler too if you like. It just makes it easier to do those mundane tasks, giving you more time to concentrate on the finer details of your application.

  309. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Actually, Kate plus Designer does that slower, less efficiently, and its delivery is less aesthetically pleasing.

  310. Rotted my brain - but I recovered by Jaza · · Score: 1

    The first programming language that I seriously used, and the only one that I used in high school, was VB6. This experience definitely rotted my brain, and in some ways I wish I had gotten a better start. I knew how to drag-and-drop a button long before I understood the 'event handler' concept that powered it. I was changing the properties of visual form elements long before I discovered that these properties were even able to be edited in code. If you had asked me back then what the crucial first step in 'programming' was for a typical program, I would have said: "drag elements onto the panel, move them around, and change their properties".

    Now, I'm studying CS as Uni, and have mostly left VS and VB behind in favour of Java, PHP, and C. As someone who started out 'on the wrong side of town' (in programming terms), and who has now learnt the value of the code-it-all-yourself style that Microsoft so discourages, I guess I have a clearer perspective than most as to how detrimental it is to start out with something like VB.

    Personally, I don't think it's such a bad thing. Drag-and-drop GUI design really appealed to me when I was starting out: who knows, maybe if I'd had to start with Java's layout managers, or with C++'s libraries, I wouldn't have pursued programming further? The ease of VS certainly helped me get in to programming in the first place. Now, my favourite environment for GUI design is XHTML/CSS. So when (only a matter of time - so many jobs involve it) I return to VS, I'll certainly be much happier with XAML, as it sounds like Microsoft have finally discovered the right balance between intuitiveness and clean code.

    It's possible to start with VS, and to still become a good programmer. I know because I've done it. The dangers of going beyond hope of recovery are present, but if you can overcome them, you can become just as good a programmer as those who started with a better language like C or Java. You'll also appreciate some things more than these people ever could.

  311. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    I think the best way to learn to program is almost a chronological technique: Start with the traditional methods so you have a firm grounding of the knowledge and techniques, and are then able to take advantage of any "power-features" these weird visual thingies have (or just write more efficient or powerful code by doing it the good ol'fashioned way).

    I personally can't fathom out how to use the visual programming "languages", - I take pleasure in writing programs as if it was the '70s (despite only being 22 myself) - I imagine I have very little processor power, disk space or RAM and try to squeeze the very most I can out of it. It really helped with my final year project at uni - a novel graphical package that (just about) worked on a 486 with 16Mb RAM and a bit of swap-space! Some of us had little competitions on how to write the most efficient code...right down to working out which numerical operations used the least processing cycles (e.g. x/2 which is often just a binary shift to the right)! There's something inherently wrong with these weird programming environments that force you to produce programs in a certain way... Maybe I'm old fashioned but I don't think I could produce anything I'd find useful with one of them. It'd look good but there'd be nothing under the bonnet.

  312. Re:Noted for Win dev pubs; now Win dev IDE rots br by Cederic · · Score: 1


    Luckily Microsoft catered to people that aren't the best Windows developmenet author and offered 'New Windows Application' for people that don't know any better.

    Sure, it means that people with less programming skill will be able to write software. Does that threaten you?

    On software developments I control and influence I'll ensure waste code is removed, that people learn how to do things 'properly'. I'll also let them make use of IDE capabilities where appropriate, including 'intellisense' (or rather, its equivalents), including stub/skeleton generation (I write distributed systems), etc.

    But if someone wants to write software for the first time, and picks VS, and uses 'New Windows Application'? Well, that's a new Windows developer, and Microsoft are happy.

    The speaker (in the article) didn't say "don't use VS", he said "Here's how I recommend you use it". That's not damning. That's publicity. I think MS will be happy with that.

  313. Re:yes, it does rot your brain, or at least habits by ityllux · · Score: 1

    Don't forget integrated, smart debugging. That's one of the most important and underappreciated elements of a good IDE.

    I don't think the author is that much against Visual Studio. He was more just pointing out the pitfalls of having an IDE do some of the work for you, tinged with some "simpler days" nostalgia. That said, we cannot go back to the good old days C-style GUI development except for the most basic of applications. We are consuming ever more vast amounts of information every day on our PCs (and game consoles, and even handheld music players for that matter), and such vast amounts of information have to be wrangled.

    Properly decoupling components and systems (as the author advocates) trades code complexity for system complexity. And frankly, I'd rather have 30 reusable classes with well-thought interfaces than 5 tightly-coupled functions that can only ever do what they were originally intended for. C++ was designed that way -- to allow properly structured code to facilitate fast, reusable components. C# is a natural result of many years of C++ maturation, just as C++ evolved from C.

    With all these components, though, comes the need to be able to quickly access and manipulate them in your code. Visual Studio (which, don't get me wrong, certainly has its faults) makes great strides in making larger tasks tractable.

    I think spell-checkers may make some people lazier, but that doesn't stop me from caring how I type. It just means that I don't have to dig out a dictionary when I think I might have spelled something wrong. In the same way, Intellisense doesn't make me lazy -- it just allows me to spend my time focusing on the parts of devlopment that really matter.

  314. New Version of EeziPost Now available! by Anonymous Coward · · Score: 1, Funny

    Slashdot EeziPost (TM) MK III

    [ ] Another: [ ] Dupe [ ] Slashvertisment [ ] WTF [ ] $editor is a dork
    [ ] Frist psot [ ] link to GNAA [ ] Link to goatse [ ] $random_drivel
    [ ] I Haven't RTFA, but... $random_opinionated_comment
    [ ] Slashdotted already!. I bet their server runs on $topic_item too
    [ ] Soul_sucking registration required
    [ ] Mod Parent [ ] up [ ] Down
    [ ] Fsck: [ ] SCO [ ] Micro$oft [ ] DMCA [ ] DRM [ ] MPAA [ ] RIAA [ ] Google [ ] Bush [ ] You all
    [ ] I for one welcome our new $topic_item overlords
    [ ] Imagine a beowulf cluster of those
    [ ] In Soviet Russia, $topic_item owns you!
    [X] Meh!
    [ ] Netcraft confirms $topic_item is: [ ] dead [ ] dying
    [ ] But have the inventors thought of what will happen if $random_amateur_insight
    [ ] Once again the USA is clamping down on my [ ] Amendment rights.
    [ ] You insensitive clod
    [ ] But people who download music from P2P networks are more likely to buy the album
    [ ] Cue DVD Jon-type crack in 3..2..1
    [ ] Torrent, anyone?
    [ ] Here's a link to a patch: $random_linux_distro_url
    [ ] Profit!!
    [ ] Still no cure for cancer
    [ ] Coral Cache: XXX.nyud.net:8090
    [ ] Microsoft [ ] Google [ ] YaHoo! [ ] SCO is evil

    [X] When I was a kid, I used a Apple II and Apple Basic.
    [X] Apple? Lucky you. When I was a kid, we had to do this in binary.
    [X] Binary? When *I* was a kid, we had to do it with only 0's.

  315. Re:yes, it does rot your brain, or at least habits by JohnFluxx · · Score: 1

    In the UK, Manchester, we didn't use VC++ at all. All programming was done using nedit in whatever language we were learning ;) (In finished 2 years ago)

  316. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    When one has VC installed, one is not required to use GUI to build applications.
    In fact, VC includes very decent optimizing compiler (which in my experience does much better job than GCC 3.X.Y). Plus, it is possible to get MS DDK (which also includes parts of SDK and C/C++ compiler) and MS SDK - they together make an excellent choice for MS application development.

  317. "Close to the Machine", by Ellen Ullman by Anonymous Coward · · Score: 0
    This discussion reminds me of Ellen Ullman's book, "Close to the Machine".

    Here's a pointer to Amazon, and you can read some excerpts and an interview in the Salon archives.
    (No, I'm not Ullman...)

  318. saves me time debugging by Chulo · · Score: 1

    Man, Visual Studio has HONESTLY saved me so much time. I'm a CS student. For all the cout or cerr statements I would've stuck into my program and then taken out, I would've lost many hours. The debugging feature of Visual Studio is definitely something for Micro$oft to brag about. I thought I heard there was something similar for *nix like BloodShedDEV or something.

  319. Re:yes, it does rot your brain, or at least habits by JohnFluxx · · Score: 1

    Speaking of such things, just a quick question. I'm a long time KDE/linux coder which has been forced to use borland c++ at work (I'm sure they're all the same, so continue reading anyway..)

    For the properties of, say, a button, there are events. I can double click an event, and it generates the function name for the event ( btnMyButtonClick(Sender*sender) { } ). Say I have two buttons that when clicked do exactly the same thing. (This is more common with events like onExit, but anyway..). Should I let it create the two default functions, then get one to call the other, or get them both to call a 3rd function, or should i make a function, then link the event to that function? They all seem to have their drawbacks.

    Actually while I'm at it, another question.. My classes often want to show error/warning/debug messages to the users. At the moment I've got a Memo on the form, then call Form1->Memo->Lines->Add("Printing picture 1") or whatever. But I hate the way my normal classes are directly calling and using the GUI. How do I fix that? :) In QT in linux (to show my experience) I would emit a signal (emit debugInfo("Printing") ) then in the GUI I would catch it and print whatever the string is. Using callbacks for this seems wrong. How should it be done please?

    Thanks

  320. Re:Does it? Not sure. But from experience I can sa by packman · · Score: 1

    That's why God created VIM

  321. Re:yes, it does rot your brain, or at least habits by Ctrl-Alt-Del · · Score: 1

    I would go with option 2 (creating a third function, and having your IDE-created functions both call it). Yes, it involves creating another function, but as sure as eggs are eggs, you can bet that sooner or later you are going to have to make the buttons do subtly different things, while still preserving some of their commonality.

    --
    "Life is like a sewer - what you get out of it depends on what you put into it" - Tom Lehrer
  322. It's not generated code that's the problem by jesterzog · · Score: 1

    The authors gripes about not being able to see the code in it's entirety are complete BS. All you have to do is expand the conveniently hidden setup and autogenerated code and you can read to your hearts content.

    I used to hate auto-generated code, but I don't hate it as much with Visual Studio. (Disclaimer: My experience with Visual Studio is restricted to some reasonably specific uses of it, so it might not apply for everyone.)

    The reason I hated generated code was because it wasn't complete. A wizard of some sort would generate between hundreds of thousands of lines of code to get a project started, after which you'd proceed to fill in the gaps.

    This was perfectly fine until you'd realise that you wanted to change something... which would require either starting a new project from scratch, or diving into the generated code and spending a long time figuring out what's going on. At this point, there's hardly a point in having had it generated in the first place.

    What Visual Studio tends to do, though, is keep links between the generated code and the interface used to generate so you can continue to modify anything through the same interface that was used to create it. If you use the design view of a form to add components, you'll be able to continue to use the design view to modify those components. There's no need to understand the code used to build them, because the interface through which they were created is frequently rich enough to do everything to them that's necessary.

    I guess I don't mind Visual Studio generating and hiding code, simply because it does such a great job of making sure that if I decide to go down that route, I can be confident that I'll never have to read or understand it in the future.

  323. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    No, no - we need to make sure that kids don't learn to program and become increasingly stupid. That way we become the first generation not to be over-taken by the one after.

    Let them piddle around with drag-and-drop components.

  324. Knuth... by keean · · Score: 1

    You don't even need to a computer to program much less an IDE. Real programming is about algorithms and data-structures. Read knuth, write programs with pen and paper...

    How does an IDE help you choose the right algorithm? How does it help you _design_ data structures? Answer? It Doesn't!

    What it does is help you deal with the 'plumbing' which isn't really programming anyway.

    So the answer is that everyone is correct! IDEs help you produce working softare faster (good thing) - but they have nothing at all to do with programming!

  325. it's an imitation by idlake · · Score: 1

    The places where Visual Studio excels is in some of the following:

    Code/syntax highlighting
    Structure/layout
    Designing graphical aspects (forms, window layouts, etc.)
    And others


    It appears to "excel" in these areas if you don't know the IDEs that VisualStudio copied these features from.

    1. Re:it's an imitation by DaHat · · Score: 1

      That's a pretty trollish remark... care to support your assertions?

      Even still, copied or not, they've implemented a great many features in a world class IDE that people want to use and in terms of market share have done it far better than any of their competitors, free or otherwise.

      Of course, your logic also holds Bowing and Lockheed guilty of copying the Wright Brothers. After all, all of their designs are really just modifications of those planes that came before them.

    2. Re:it's an imitation by idlake · · Score: 1

      care to support your assertions?

      Look up NeXTStep, Zmacs, Smalltalk-80, and Tcl/Tk, for examples of GUI designers, Intellisense, integrated development/debugging, and dynamic layout. All of them predate the introduction of even Visual C++ 1.0.

      Of course, your logic also holds Bowing and Lockheed guilty of copying the Wright Brothers. After all, all of their designs are really just modifications of those planes that came before them.

      The analogy doesn't hold. Boeing and Lockheed actually improved on their predecessors, Microsoft is still trying to catch up.

  326. Re:Shut up DINOSAUR by fbjon · · Score: 1
    no better than the guy who built Jurassic park.

    Hey, don't mock him, he used "Unix".

    --
    True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
  327. he is at a cross-roads then by uptoeleven · · Score: 1

    What your friend's son needs to realize is that he has a choice to make.

    If he wants to become a programmer then he has to realize that there are underlying architectures and systems that he has to accept as reality and to embrace their existence. In the end his code is compiled by the compiler into a stream of 1s and 0s. Prior to this it was a bunch of translatable instructions the compiler could translate. It doesn't matter how pretty or funky or well designed a dialog box is or how user friendly and expressive his buttons are if they don't do anything. And they can only "do anything" if the compiler has the necessary instructions.

    It's not the case that "you have to learn to code cos that's how we've always done it". Simply put, you have to learn to code because otherwise the computer is treating you like a moron and doing your coding for you. And doing it wrong!

    Otherwise become an artist or designer or project manager or sys admin or Window technician or whatever and don't feel the need to worry about coding. It is not "a bad thing" to be any of these. I'm also an artist (musician) and a designer and I have to say, when I'm playing I don't worry about the underlying fabric of the guitar strings or the circuitry in the amplifier any more than is necessary to execute the job at hand - namely playing music.

    But if I were to become a luthier and turn around and say "oh woodwork is stupid" then I'd be doing what your friend's son is doing. Tell him to take the stabilizers off and stop having Uncle Bill Gates holding his hands - and learn to do it properly if that's what he wants to do.

  328. Re:yes, it does rot your brain, or at least habits by ultranova · · Score: 1

    But then, what do you expect from an outfit that believes a BOOL is tri-state. (one would have thought that would have been fixed by now, but nooooo....)

    Well, as long as you implement booleans as ints, they are 2^32-state variables - that's fuzzy logic, you know ;).

    Or maybe Microsoft just wanted to get their OS API ready for quantum computers ?-)

    Anyway, I checked the page you linked, and found these things to nitpick about:

    If the function retrieves a message other than WM_QUIT, the return value is nonzero.
    ...
    If there is an error, the return value is -1.

    If there is an error, the function returns -1, which is nonzero, which means that a message other than WM_QUIT was retrieved. I presume that the first paragraph should read "the value is greater than 0", but I can't be sure, based on this documentation.

    Unlike GetMessage, the PeekMessage function does not wait for a message to be posted before returning.

    Okay, this time I'm complaining about weird sentence struture. The above paragraph is from the GetMessage documentation. Shouldn't it be on the PeekMessage documentation, and the GetMessage documentation read "Unlike PeekMessage, GetMessage function waits for a message to be posted before returning" ?

    I'm complaining about this because the second I read it, my brains drew the conclusion that I was reading the PeekMessage documentation, leading to momentary confusion - and confusion generates errors.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  329. Re:yes, it does rot your brain, or at least habits by Cyberax · · Score: 1

    That article is the most idiotic I've ever seen on Slashdot....

    1. Autocomplete and IntelliSense is evil. Sure, that's why every Linux user has it turned on in his favorite shell.

    2. Studio can't help me finish programs. What an idiotic IDE! It can't even use Windows Telepathy API to read my mind and write eveything automagicaly!

    3. Criticism of WinForms is fine, but it is not really related to VisualStudio.

    etc.

    PS: I use VisualStudio+VisualAssist as my primary IDE for C++, and I don't use any code generation or wizards (aside from "New Project" wizard) provided by VisualStudio. Currently, I help to develop Code::Blocks IDE because there is _NO_ OpenSource IDE for C++ which is even remotely as powerful as VS (and don't get me started on Emacs or ViM).

  330. haters and geezers by the0ther · · Score: 1

    These are the two kinds of people who hate VS.Net. Do you have something against debuggers?

  331. Re:yes, it does rot your brain, or at least habits by somersault · · Score: 1

    that's a shame.. I think that Java holds your hand too much and I'm kinda disappointed that they're trying to get programming languages to do everything for you these days, but I guess some people maybe thought that about higher level languages compared to assembly :s

    --
    which is totally what she said
  332. Re:Shut up DINOSAUR by kahanamoku · · Score: 1

    True True!

    I am yet to find the distro that actually has a 3DFS... I wouldn't mind navigating my files in 3D, even just for the gimmik!

    --
    ----- Concentrate on promoting more than demoting.
  333. .net = badness. by Kranfer · · Score: 1

    From experience in the field as a developer, I can say that working with .net does rot the programmer brain. My last job I used JBuilder for Java/bean/jsp development, and now I work in asp development. It seems that ASP developers hold to no real standard no Pattern no OO... I want to shoot myself when looking for things in the code to fix. .net makes things wayyy to simple and theres no set standard. I hate it, but it pays more. Heh.

    --
    -- Josh
    "Whoopie! Man, that may have been a small one for Neil, but that's a long one for me!" - Pete Conrad
    1. Re:.net = badness. by Sweep+The+Leg · · Score: 0

      You used ASP and developer in the same sentence, for shame. Seriously though, you do know a lot of .NET developers use the languages for non-web applications. I think it does try to promote OO Design, for example even a page is a automatically a class. It comes down to people not knowing the technologies, which you get in any language. I've seen my share of bad C, Java, Python, PHP, etc. I see little difference between .NET and Java. There's always horrible coders, period.

      Microsoft's big fault was trying to make it easy for asp people to jump into asp.net. It's an entirely different dynamic and why you see so much bad code. Isn't the same true for any popular web language these days?

  334. Re:yes, it does rot your brain, or at least habits by rar · · Score: 1

    ... an "identify all the test cases" exercise with a simple problem: a function which classifies 3 side lengths with whichever type of triangle they could form.
    ... MAX_INT ...

    Eh... I've read your story and are left wondering; are you sure the exercise function used *integer* parameters rather than reals/floats? Few sets of 3 integers will form a triangle, and you'd have to implement a test for integer triangles. This seems to be a bit much for an excercise about limiting cases...

    That said, if the exercise used reals, I suppose the solution still should have tested for overfolows; like checking for NaN:s and INFs.

  335. Re:yes, it does rot your brain, or at least habits by rolfwind · · Score: 1

    But it seems I can blame Petzold for passing that advice on^_^

  336. Re:yes, it does rot your brain, or at least habits by TapeCutter · · Score: 1

    I have never heard of "*nix".

    Sorry, it's a term used by software developers, where I work at the moment it stands for Linux, Solaris, Aix & HPUX. We write our C code so that it runs on both *nix and Windows.

    A language tool should help you write in that language regardless of the target platform, if you knew what you were doing with VS you would realize it excellent productivity tool.

    Are you sure you know what "Unix" is?

    Does anybody? I learnt C 17yrs ago on a flavour of Unix called System V.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  337. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    "Fuck off, Alecstaar. You haven't got a clue what you're talking about." - by Anonymous Coward on Wednesday October 26, @07:04PM

    LOL! Ok, if YOU say so... & with a reply like that, I suppose YOU do?

    * :)

    Above all/after all - I've only been @ the field of coding since 1982-1994 as an amateur, & 1994 onwards (up to today) as a pro in this field of endeavor!

    I've only seen the changes happen between now & then and also used the very toolsets I mentioned in that period as well...

    So, according to YOU, there, in that sharp, insightful & intellectual reply of yours loaded with profanity (since it apparently is the best you can muster)??

    Well, I guess by using tools like the ones I mentioned first hand & hands on, that I didn't get to make any observations on quality improvements in newer tools vs. older tools used for programmatic development over a 20++ year timeframe then (as well as what you could gain via using older vs. newer tools on the converse), as well as what I felt in the way of coursework in academia benefits coders (especially new ones), right?

    APK

  338. My sentiments exactly... by QuietLagoon · · Score: 1
    From the article's conclusion,

    [without Visual Studio] It's just me and the code, and for awhile, I feel like a real programmer again.

  339. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    You don't have to do things visually.
    Get your facts straight before making mud pies :P

  340. To a certain extent. by Kaldaien · · Score: 1

    I think that Visual Studio can be a bad thing when used too heavily. It is great for browsing code and/or debugging, but I still prefer to write most of my code with vim because there are no clunky menus to perform common tasks. The code looks cleaner when restricted to 80 characters per line and because I can customize the syntax highlighting any way I like. That is a great point though, Visual Studio tends to offer solutions to common problems without the user ever having to learn the crux of the problem or how to solve it on their own. That said, it also has a lot going for it - especially version control integration.

    I always get a kick out of new C++ programmers starting with Visual C++; using MFC classes like CFile or CTime without realizing that the stdlib provides the same functionality without cripling portability. If that same programmer never looked beyond MFC they might never learn how the underlying Win32 API works. While some might argue that is a good thing, the programmer would not learn about the "Chain of Responsibility" design pattern, which is the basis for most event driven operations in Win32. And then there is "printf (...)" vs. "cout", the latter may seem simpler (and for the most part is), but a curious programmer might wonder how "printf (...)" works and discover variable argument lists. I do not, however, feel that using Visual Studio "rots the brain"; it merely stunts a coder's growth, in the same way MFC does.

    1. Re:To a certain extent. by Sigma+7 · · Score: 1
      I always get a kick out of new C++ programmers starting with Visual C++; using MFC classes like CFile or CTime without realizing that the stdlib provides the same functionality without cripling portability.


      I'll play devil's advocate here.

      Does stdlib support file locking capability? As you probably know, CFile is a wrapper around Window's internal support of file handles, which does.

      Does stdlib (or the appropriate ANSI C/C++) support millisecond (or possibly nano-second) timing capability? It's something that a large number of readers wanted to do at one time, only to discover that they had to resort to something system-specific. (POSIX, even though it is a standard, is still system-specific: there were plenty of compilers on smaller machines that did not implement POSIX, such as BorlandC 3.1.)

      BTW, MFC isn't really portable anyway, as it doesn't really have an implementation other than Microsoft Windows. If your program is dependant on some random library (whether it is MFC, KDE, or Gnome), you either go the full length on it's implementation direct in it's source code, or you create an internal wrapper in the application that centralizes the change for different interfaces to one single file, directory, or source code organizational unit.

      I do not, however, feel that using Visual Studio "rots the brain"; it merely stunts a coder's growth, in the same way MFC does.


      It only stunts the coder's growth if that's the only thing that gets used. Any decent programmer would take a look at the most basic functionalities of the language (e.g. read a tutorial, know the operators, read the specs and basic functions, stuff like that.) Anyone who doesn't (or has developed an unacceptable coding pattern) can't possibly be capable of doing any serious computer program.

      There are some starange and unnatural computer languages that exist that are still capable of doing something semi-useful - if you can learn how to use them, then there is absolutly no way can suffer brain damage from using an improved code editor (or any assistant tools.)
  341. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    With a reply like that I think you don't know what you are talking about. Who the hell is AlecStaar anyhow? The poster you replied to was someone named apk and he did know what he was talking about. I come from the same timeframe of learning as he mentions and he is dead on right.

  342. Re:yes, it does rot your brain, or at least habits by Anonymous Coward · · Score: 0

    Yagu:

    While I liked his creativity, it was evident his depth of grasp of the workings of programming were as deep as VS allowed him.

    That is a completely incorrect comment. Visual Studio "allows" you to go as deep as you want and need. I am a professional C++ programmer who writes financial service applications. I do a great deal of low-level socket and multithreading work. I write services that control ATMs and POS terminals, among other things. I also teach graduate-leve software engineering at two universities. At work we use Visual Studio exclusively and much of our code is straight ANSI C++. I can tell you with 100% accuracy that Visual Studio does not place any constraints on your access to the OS, the standard library, or any of the underlying code. In fact, MS makes the source code for MFC (crappy library) and ATL (great library) freely available. Any limitations in programming ability that your friend's son has are entirely his own fault and not that of the tool.

  343. /, Posts like this rot the brain by Sweep+The+Leg · · Score: 1

    And I ask Mr. Petzold and anyone else....why is anyone using VS.NET code generation in the first place? You do know that you can turn most of that off. For ASP.NET, never use the designer, set it to the html editor. I write loads of .NET everyday and never once have I wanted or needed for the dev env to generate code for me. Really he needs to realize that so much of the stuff there in the designer is for people who don't have time to learn the entire .NET framework and want to fire off some simple db app in under a day without knowing little or no programming. I'm looking at you ASP "coders." I've never met any real developer that uses the VS.NET designer. Every other aspect of VS.NET is great. Intellisense saves you from looking at the docs, you can easily set compiler options, symbols, etc...you can change the indent of big blocks of text, write plug-ins, doc almost anything anywhere. Sorry but bad programmers promote bad practices, not the dev tool. You should be shot if you use any dev env code generation (hello rational!). You should be able to pickup any dev tool and use it within a few days like a pro. Really, it's not a hard concept. If it's there, doesn't mean you have to use it or the program is evil because of it.

  344. Re:yes, it does rot your brain, or at least habits by arkanes · · Score: 1

    I have to agree. Anyone who claims that Intellisense makes you a poor coder, or (by extension) that a source browser is for dumb people is being stubborn and crusty. Visual Studio is an excellent IDE - it's code introspection abilities are powerful (but VisualAssist makes them incredible), it's project management is adequate and far simpler than autotools, especially for simple projects, and it's compiler (in recent versions) is excellent. People who focus in the form designer (it's lousy in C++ versions, which are only used to edit embedded Windows dialog resources, and only adequate for .NET forms) are completely missing the point.

  345. Re:yes, it does rot your brain, or at least habits by saltydogdesign · · Score: 1

    Designing graphical aspects (forms, window layouts, etc.)

    Huh? Visual Studio lets you drag a bunch of widgets around. It doesn't teach you anything about good design.

    --
    // This is not a sig.
  346. VS by nenchev · · Score: 1

    Can someone give me a few examples as to how visual studio in itself forces bad habits upon you? I've been using visual studio for a long time, and I find alot of the features to simply be useful. Regardless of what what language I'm programming in, it doesn't "force" anything bad on me. I think people write bad code because they are bad programmers. As for the guy who wrote about his son. The KID is NOT a programmer, did you expect him to be using perfect design patterns and a strict OO aproach !?!? Didn't you say he started taking programming courses AFTER he got visual studio ? Also, VS is just a fancy IDE, what YOU type in the "white area" is all up to you, I doubt IntelliSense and code-hiding are making your code bad. I think VB is what you guys should be complaining about.

  347. Yes and no... by Lorem_Ipsum · · Score: 1

    Any tool used improperly will lead to undesirable results. Turning someone loose with something like VS or KDevelop/Qt Designer when they don't already have a grounding in programming is like showing someone how to use a handsaw and then taking them into a woodshop and telling them to figure out the rest of the cutting tools on their own.
    The real failure here was not in "allowing" the use of VS, but in doing so without providing any real background on what programming is really about beforehand. In fact, the same argument was (and still is) made regarding calculators and mathematics classes. Sure, the calculator can do all the work, but the student still needs to have the relevant understanding of the concepts behind it to truly succeed.
    Of course, if all you really want is an eye candy code monkey, then damn the torpedoes and bring on VB.NET!

    --
    --- Void where prohibited. Your mileage may vary. ---
  348. Testing is compiling by PurpleWizard · · Score: 1
    My main observation about use of tools like VS (and also the speed modern compiles are done compared to the slower past) is the mentality of keep fiddling until it compiles and it probably works once it does.

    This is because the actual learning about the language and reading lots of other code doesn't happen (some times ever it seems).

    Me and the other developers all laughed with horror when on a course and the new boy described that. We all worked in safety critical software and on the whole only got around to typing make when we felt sure it was right. By that I mean we had thought carefully reading and re-reading the code, perhaps had an informal review done.

    Then of course when it more often than not compiled first time you ran it against the test suite to.

    In short it is my opinion that such tools reduce the care and thought put in, breeding bad habits along the way.

  349. You're the one! by Anonymous Coward · · Score: 0

    That was YOU?!?

  350. photoshop doesnt make artists either.... by cheekyboy · · Score: 1

    OH please...

    Ive been coding since ASM in hex on paper in 1986, then hex in monitor editors on c64 to compiled asm
    to C then 68k asm and unix c , windows c, mac c, win32 c++, mfc...

    DEV Studio is good.

    If you write shit code, then you most likely wont write good code in VI/GCC on netbsd.

    If anything , devstudio makes the mundane crap things easier, yeah like swapping screens, to type make, is
    MORE ELITE than hitting F1. You can make F1 in VI to do the same thing or the term prog. BIG DEAL.

    Computers are supposed to work for us, if your 38yo and spending time doing things the 70s text way, your
    old sod. You dont see construction workers using ropes/pulleys and making their own bricks do you.

    If you take 6months to do what good tools help you do it in 3 weeks, then your business plan is dead, your behind and
    someone else will get the dollars.

    --
    Liberty freedom are no1, not dicks in suits.
  351. Re:C++ complications you mean? by xeoron · · Score: 1

    Good point! I forgot about that.

  352. Re:yes, it does rot your brain, or at least habits by whereiswaldo · · Score: 1

    You can definitely feel the effects of having used an IDE with code completion for years once you have to go back to a plain editor and remember everything yourself. What a shock. It's like being on crutches for years, having them taken away from you, and being told to walk.
    BTW, VisualStudio was pretty late on the code completion thing. Borland has had it for years and years (not that I'm recommending either company).
    What I found code completion awesome for is actually learning a language. I learned core Java really quickly because I could easily explore all the classes and methods from within my IDE and not have to turn to documentation. Learning Perl after that without a fancy IDE was quite a change.

  353. Re:yes, it does rot your brain, or at least habits by Alarion · · Score: 1

    I find the GUI designer part of the IDE to be very helpful. I agree that one should know that when they drag a text box onto their form/canvas/window/whatever it creates an instance of the textbox class in the form source file, and sets the properties, etc.

    However, when you are building an application with many modules or hundreds of screens it would take so much more time to manually code the layout. Why spend all this extra time to manually type out the same code the tool will generate for you anyhow?

    I do see your (and everyone else's) point. Again, I totally believe that you need to understand what's going on and what the tool is doing for you. Same way you should know how to do all the arithmetic and equations when you use the calculator.

  354. Fun, huh? by 87C751 · · Score: 2, Interesting
    Well, as long as you implement booleans as ints, they are 2^32-state variables - that's fuzzy logic, you know ;).
    'Zackley! There's really more fun to be had, since sometime in the near past, MS actually added a 'bool' type (but not to be confused with 'BOOL').
    If there is an error, the function returns -1, which is nonzero, which means that a message other than WM_QUIT was retrieved. I presume that the first paragraph should read "the value is greater than 0", but I can't be sure, based on this documentation.
    I s'pose one could say that an error is a "message other than WM_QUIT". Just not the "message" one might have been expecting.

    I usually say that this requires one to write a what_is_truth() function.

    confusion generates errors.
    At MS, confusion is Job 1.
    --
    Mail? Put "slashdot" in the subject to pass the spam filters.
  355. IOCCC by bluGill · · Score: 1

    What does it do? What can it do?

    Well for starters you can win the IOCCC with just a little more effort, and that had to be worth something.

    Don't do that in code I need to maintain though.

  356. Re:yes, it does rot your brain, or at least habits by AuMatar · · Score: 1

    Really? Thats interesting. Did they get rid of all the HP-UX boxes in Everitt as well? For that matter, have they gottten rid of Everitt yet? Thats the building we needed replaced, not DCL.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  357. Folding by Mike+McTernan · · Score: 1

    Not that I like IDEs, but I was impressed that the VS 2005 editor is folding default. I think this addresses the articles gripes about not being able to read the whole code, at least partially.

    Folding is a great feature, and one that lots of good editors (Textpad is my current preference) seem to omit :( I can only hope that this will alert people to the great use of folding, and we will see more folding editors in the future.

    There is a short list of such editors here:

    http://en.wikipedia.org/wiki/Folding_editor#Editor s_with_folding_capability

    --
    -- Mike
  358. But he did speak on subject by bluGill · · Score: 1

    He did speak on subject. Knowing how windows came to be is helpful if you want to program. If he had spoke on something like the blood lines of the quarterhorse he would not have been on topic. However he spoke about windows, so he was on topic.

    That isn't to say this was the best speech he could have given.

  359. Re:Shut up DINOSAUR by Anonymous Coward · · Score: 0

    are you sure that should not be:
    box(1,1,i,i)

    ?

  360. Re:yes, it does rot your brain, or at least habits by Arandir · · Score: 1

    Actually, Kate plus Designer does that slower, less efficiently, and its delivery is less aesthetically pleasing.

    I can launch Kate, edit a function, connect it to a signal via Designer, and start compiling, all in the time it takes VS.NET to slide out a sidebar.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  361. Re:Does it? Not sure. But from experience I can sa by leabre · · Score: 1

    I sense a logic fallacy here. I'm a very accomplished developer. I very much know how to design and implement properly for the long term, as well as the short term. While I don't *need* the IDE to *understand* the code, I have an exceptionally difficult time making sense of the *all* the code without the IDE. This of it this way, I can open up the files off the file system in Notepad, or I can open them up in VS.NET/Eclipse and have many features, such as syntax coloring which *helps* my brain to see varying code block, quite naturally, by their color, or I can click on a symbol or method and jump straight to its declaration. If people use the #region block, in the IDE, it collapses them so I can filter out code I don't want to look at.

    In short, I've become quite dependant on the IDE, and can probably write better code than the vast majority of coders/developers/architects out there that complain about everyone elses code. But alas, I'm by no means perfect. The IDE just makes me more productive. I would venture to dissagree with your assertion that if the person needs the IDE to understand the code then they are not a programmer. Of course, I can do all that by Notepad and understand the code, so perhaps I'm proving your point, but alas, the IDE makes me 10x more likely to understand the code 10x quicker than using Notepad to open the files.

    Thanks,
    Leabre

  362. Not the same by GeckoX · · Score: 1

    They are not even remotely the same.

    Think design vs build.

    Are we talking programmers or designers?

    If someone is interested in designing software, VS is a suitable abstraction point to be introduced to. If someone is interested in programming, this is just plain wrong, period.

    ALL programmers need to be introduced to language first and formost. If they aren't, well are they really being trained to be programmers?

    VS is a horrible starting point for learning how to program.
    VS is a wonderful starting point for learning how to design software.

    Besides, this is nothing new. Think of how many 'programmers' that are out there that couldn't code themselves out of a box because they learned how to 'code' using VB6. It's not that they aren't good at what they do, it's that they have learned how to design, now how to program.

    Pick your profession, then pick the appropriate tools.

    --
    No Comment.
    1. Re:Not the same by plumby · · Score: 1
      Are we talking programmers or designers?
      ALL programmers need to be introduced to language first and formost. If they aren't, well are they really being trained to be programmers?

      Programming is just a continuation of design (unless you're mindlessly translating a way-too-detailed program spec into your chosen language). To be a good coder, you need to understand most of the things that you need to be a good designer (abstraction, problem decomposition, identification of patterns etc). The only real difference is the level of abstraction.

      Yes, you also need to understand the specific details of your chosen language, but you really need to know what you are looking to say (design) before you think about exactly how you're going to say it (code).

      The only good reason to get people coding before they are taught the principles of design is for the 'instant gratification' you get, hopefully stopping people getting bored.

      And I'm really not sure how VS is a suitable tool to learn good software design (UI design maybe, but that's a very small part of designing a system). I believe that newer versions may support UML (but I could be wrong), so there may be some benefit there, but beyond that it's simply a rapid coding tool and diving straight into code is not a good way to start your design.

    2. Re:Not the same by angel'o'sphere · · Score: 1


      VS is a wonderful starting point for learning how to design software.


      How can that be true? VS is Visual Studio, right? It offes nothing for designing software, the only "designer" it has is for designing graphical user interfaces!!!

      To learn about software design read books about UML and Design Patterns and Architecture Patterns and stuff like CORBA etc.
      Finally some stuff about OS design or communication and multi threading would be interesting.

      VS has absolutely nothing to do with design. There is more knowledge about design needed to put furniture from IKEA together than in using VS.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  363. Re:yes, it does rot your brain, or at least habits by GeckoX · · Score: 1

    You need to read up on events my friend.
    The answer to all of your stated problems are in proper knowledge of events.

    --
    No Comment.
  364. coding by hand by Anonymous Coward · · Score: 0

    I code c# by hand and have for over three years.
    I also code much faster than the inbred vs junkies that i work with.
    I dont believe using this tool speeds up development...it only speeds but people that dont know what they're doing. If you write library style code you can easily copy, paste and re-hammer much faster than dragging around boxes in a buggy piece of software.
    To each there own though.

  365. Re:yes, it does rot your brain, or at least habits by j_kenpo · · Score: 1

    I agree with your statement. Programming is a discipline just like any other, and in any other discipline you should learn the basics before you learn the tools to make things easier. Architects, for example, learn the basics of Architecture before they jump into CAD. Schools that are worth a damn teach Architects the basic models and have them use the old fashion pen and paper method before jumping to CAD, although that margin of time does seem to be getting smaller. Math is another example. You learn all the pain in the ass Algebraic methods for solving problems before you learn the shortcuts in Calculus because it provides solid fundamentals.

    Visual Studio should not be used as a framework for teaching. It is a tool for developing, and provides a way to develop the visual portion of an application quickly. I could just as easily say the same thing about QT Designer or GLADE. In fact, when I was reading "Programming with QT", the author forces the reader to learn how to build UI elements programmatically first before introducing Designer. That way, if Designer screws something up, you can go in and understand the code it generated enough to correct it. I agree with this approach. Back in the days of DOS, I learned how to manually draw UI elements in ASM, then in a high level language like C and Pascal before I moved on to using libraries that did this for me. The same thing holds true for NCurses.

    The point is, VS is a tool, and should be treated as such. A developer should learn the language independent of tools that make pretty interfaces. There is a reason that most programming books worth their weight start off with simple examples like Hello World, sum of two numbers, etc before getting into UI design.

  366. As usual, everyone is catching up to Lisp by alispguru · · Score: 1

    So you guys can now do what I could do 30 years ago in APL.
    Hey, I guess you're starting to catch up!


    Yeah, we had this like three levels up the thread.
    Edit/resume in a COMPILED language. 30 years ago you interpreted APL and that's why you had edit/continue.

    Edit/resume has been available in compiled Lisp environments since at least 1982. That's when I first used it in Franz Lisp on a VAX, and it was available on Lisp machines before that, in 1979/80. Not 30 years, granted - will you settle for 25?
    --

    To a Lisp hacker, XML is S-expressions in drag.
  367. And you try and tell the young 'ackers o' today... by Ignominious · · Score: 0, Redundant

    And you try and tell the young 'ackers o' today that - they won't believe you.

    <shakes head>

  368. Re:yes, it does rot your brain, or at least habits by anomalous+cohort · · Score: 1
    noone's forcing me to use the RAD tools

    correct

  369. Re:yes, it does rot your brain, or at least habits by Wavicle · · Score: 1

    The function just needed to determine the type of triangle that would be formed given the length of its sides. The function took three integers and returned the type of triangle formed. A decidedly different problem from integer triangles link you posted.

    --
    Education is a better safeguard of liberty than a standing army.
    Edward Everett (1794 - 1865)
  370. Re:yes, it does rot your brain, or at least habits by Timothy+Brownawell · · Score: 1
    HP-UX? Must have, the Everitt lab was Solaris when I got here (2003) and switched to Linux over this summer. And Everitt is still very much here.

    Tim

  371. Re:yes, it does rot your brain, or at least habits by Explodo · · Score: 1

    It's not like a calculator since you can't use a calculator to actually do the computations by hand, whereas you can use Visual Studio to write an app completely by hand....just like the old days.

  372. Re:oh... my... god... by xouumalperxe · · Score: 1

    Well, we're talking about Charles Petzold, who's been a serious MS writer for ages. He was talking at a .NET conference, or somesuch (at least, definitely towards mostly .NET people). He wants to make a point, which works much better when you use a concrete example rather than speaking about generics, and he uses the example that's most familiar to him and his audience. By speaking ill of many of the features that are considered the holy grail of VS, he invites their users to think twice about them. In short, he targetted the speech at the crowd at hand. And slashdot posted it for all to see, minus context.

  373. Visual Studio 2005 RTM'ed by emalaith · · Score: 1

    Visual Studio 2005 RTM'ed yesterday.

    MSDN Subscribers can get it via Subscriber Downloads.

    Right now only English versions of the Professional and Team System Editions are available.

    SQL Server 2005 Developer Edition is also available.

  374. Automation always creates waste by kbw · · Score: 2, Insightful

    Prior to Visual C++/Turbo C++ IDE's, the Windows C programming was based on make files (nmake files?). You would customise it to do exactly what was required, but when C++ and MFC/OWL came about, so did new tools.

    It's all about trade-offs. You can either require the developer to add a library every time he uses it, or add an unhealthy amount by default and allow the clever developer to remove the excess.

    The IDE is about ease of use. You sacrifice your cool macro-language extended editor Brief, PE, ...) for the colour highlighted bland editor. You don't have to configure it to get F1 help. It's got better over the years and it's available to everyone.

    That is the point; availability to everyone. The tools lower the barriers to entry. It's much easier and much less frustrating to have Visual Studio create a running empty app that you can customise or prise apart, than it is create one from scratch using a set of disparate tools. (There's a lesson in here for Linux development somewhere.)

    If you're knowledgeable enough to hate it, you probably know enough to work around it.

  375. Re:yes, it does rot your brain, or at least habits by vdoogs · · Score: 1

    I agree with the comment about apples and oranges, but more specifically when dealing with kids you have to consider their attention span. If you show your son assembly language for his school science project instead of C#, is he going to be turned off because he couldnt do that little pop-up box trick he wanted to in 2 days? If he's really interested in "real programming", he'll learn it. I wouldn't worry about some Visual Studio tool limiting his mental abilities, after all it takes a fairly bright kid to see the simplest project through by themself.

  376. Re:yes, it does rot your brain, or at least habits by bar-agent · · Score: 1

    Ah, the good old days! Why, I remember when...

    --
    i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
  377. Tongue firmly in cheek... by heinousjay · · Score: 1

    And why not --x instead of x--? You don't need the old value of x there, so aren't you potentially wasting some cycles and thereby having possession of your soul revoked or whatever the punishment is for not being as efficient as possible in all situations? I mean, if you're going to micro-optimize, why not go all the way?

    --
    Slashdot - where whining about luck is the new way to make the world you want.
  378. Re:Grow up. by frodwith · · Score: 1

    One, if that's a point-by-point rebuttal, it's an extremely poor one (since he didn't cover all the points). It seems much more likely that he was quoting for reference. Two, there's nothing wrong with making a point-by-point rebuttal of an argument. It may not be the most elegant way to make a counter-argument, but it's certainly not as frowned upon as you seem to be implying. Lastly, please grow up. Piecemeal responses may impress no one, but vicious and petty comments like yours only serve to lower everyone's opinion of you. Find somewhere positive to vent your anger, please.

  379. Re:Bottom up Force from the Top Down ... Or Freedo by Anonymous Coward · · Score: 0
    omygod, only someone as psychotic and utterly retarded as you could have turned a discussion of a feature of a product that you have obviously never used into yet another rambling, unfocused and infantile essay on the struggle between good and evil. as if we didn't have enough proof that you are a borderline schizo anyway. 'autowrong', that's rich. you've never written a line of code in your life, have you?

    way to go.

  380. Re:yes, it does rot your brain, or at least habits by dascandy · · Score: 1

    The only link between perl mucking and programming is the one you create with "ln".

  381. Re:Does it? Not sure. But from experience I can sa by DimGeo · · Score: 1

    So, if a person needs edit.com and grep to program, then (s)he is not a programmer, but merely an edit.com and grep operator?

  382. Microsoft's Intellisense v/s Borland's one by avillena · · Score: 1

    The problem with INtellisense is the "Autocorrection" feature. In Borland's IDE, I can invoke the code-completion tool, but it NEVER change my code without my agreement. The problem with Intellisense is the "Office's Clippo" symdrome : I know better than you what you want.

  383. Re:yes, it does rot your brain, or at least habits by fbg111 · · Score: 1

    Too bad, should have started him in Scheme or LISP.

    --
    Flying is easy, just throw yourself at the ground and miss. -Douglas Adams