Thursday, 27 October 2005

Does Visual Studio Rot the Brain?

Does Visual Studio Rot the Brain?






====================
Re:Microsoft DEVELOPER tools are good
(Score:5, Insightful)
by captain_craptacular (580116) Alter Relationship on Wednesday October 26, @05:40PM (#13884902)
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

==========
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
============
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.
==========
.../... 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.

==============


Evolution of Development
(Score:5, Interesting)
by TheNetAvenger (624455) Alter Relationship on Wednesday October 26, @06:38PM (#13885327)
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 Vista said, we are giving developers some so revolutionary, it is bascially fire. And right now these devleopers will just use this fire to cook meat, but eventually they will understand that this same fire is capable of pushig a rocket into outer space.

If you are a strong OPEN SOURCE believer, you need to pay CLOSE attention to the technologies of Vista and things we here often make fun of. If we discount them or don't fully understand how extensive these technologies are, we will be left far far behind in a coupld of years, when developers are pumping out applications that are not only beautiful (cooked meat), but taking users to places we can barely see now.

Vista's model is a great example of how development WILL change to higher level development and less of low level coding. Applications will be NOW built by graphic designers in addition to the script and VB kiddies. We will have a new creative element in applicaiton development with Vista (which will be on a lot of desktops no matter how much we like it or not).

Here is the thing with Vista.

A) It will be on a lot of computers, the market is already there and just new system shipments will guarantee its success, we have NO CHOICE on this.

B) It introduces so many new models of application interobility, and capabilities, it is staggering. Imagine a WHOLE OS that is passing XML as INTERNAL calls (no more Win32 concepts). Imagine an OS where XAML is not only telling the GPU in the machine how to display a floating cube in a chart, but also is using the same XAML to push information to other applications, telling the printer wha to print, and yet give applicatios an XAML and XML system of storing these messages being passed throughout the OS.

It is a freaking unified model, that can be molded and tapped into beyond what we can barely see right now. Just like the GDI of Windows 3.0 was overlooked at the time, and it is child's play compared to what Vista will do. (GDI and Win32 are dead in new development - it is new structured OS, that has GDI and Win32 compatibility. - Do NOT under estimate how powerful this will be for developers and users.)

Open Source people have an advantage, we can choose to understand what it WILL DO and see how we can 'steal' their concepts and start unifying our pet OSes.

I am lucky to have access to Vista to see some of the things coming, and a lot of this information is available for free at http://msdn.microsoft.com/ [microsoft.com] - go there, KNOW YOUR COMPETITION...

So I disagree with this idea that Higher level development tools that abstract us from having to do the 'plumbing' is a bad thing. I think that if we applied this model, then we should force everyone back to defining ASCII characters everytime we write an application, it would be just that stupid.

Not only do I disagree, but I think UI and Usability should be PUSHED more in development tools. Borland was always good with this and VS used to have a pretty crap IDE, but now is up to par with Borland's stuff.

Also don't forget, development tools is something Microsoft has DONE WELL, even if you are an open source devleoper, you can use VS for *nix development. The low level C and C++ compilers from Microsoft have been the leading edge for performance for many years.

In closing...
DON'T Discount MAKING THINGS easier, IT SAVES us old times a lot of time, even though we know how to hand code this crap ourselves.

Don't close your eyes to the paradigm shift that Vista and the development world will be seeing, we need to know the enemy (if that is how you see MS and Vista), because right now, their concepts are raping what we are doing in the Open Source world by 5 to 10 years at LEAST. This is a massive shift, and we NEED TO FREAKING PAY ATTENTION.

(And don't let the Mac only peeps convince you that Vista is just a OSX knock off - Sure Vista can do the pretties, but that is SO FAR from the bomb/fire that is in Vista. It has a solid NT foundation, keeps Win32 compatibility, and introduces a whole new OS in terms of capabilities and Development concepts. - And yes you are going to see applications that look amazing, do some really interesting things, and are written with a few lines of code by people that know 1/100th the development and coding concepts you do - this is the reality we will be facing.)
[ Reply to This ]
Starting Score: 1 point
Moderation +3
70% Interesting
30% Insightful
Extra 'Interesting' Modifier +1 (Edit)
Karma-Bonus Modifier +1 (Edit)


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 and abused when it suits the purpose.

Basically, I'm sick to death of seeing morons who shouldn't be allowed to use a computer being paid more than I am and given more opportunities simply because they have a tool that compensates for their complete lack of ability. First Microsoft develop the culture that it is acceptable to have not just implementation but design flaws - and serious flaws - in software; giving a mindset that IT is incompetent and crap must be expected. Then they develop a tool that makes it easy to churn out such crap. Then they abuse their illegal monopoly power to force educational institutions into calling a fairly incompetent artist (someone who can paint something boxish in Visual Studio) a software engineer. These people flood the industry, further entrenching the "expect crap" mindset in managers and also ensuring that the only solutions there are resources to develop are Microsoft based, furthering their illegally-obtained monopoly. The monopoly then ensures that its pointless to try to break the cycle and actually teach people real skills.

And folks like me who could competently code in 3 languages and get by in a few more *before* they reached tertiary education (and of course picked up many more during) want to leave the industry and take up another profession. I'm thinking infantry, where you can even get promoted for killing the people that really piss you off ;)

But for now I'll just bitch on /. *g*
--
Matt

1. Read Slashdot
2. ???
3. Profit
============

0 Comments:

Post a Comment

<< Home