Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Microsoft's Top Devs Don't Seem To Like Own Tools

kdawson posted more than 4 years ago | from the frankly-speaking dept.

Microsoft 496

ericatcw writes "Through tools such as Visual Basic and Visual Studio, Microsoft may have done more than any other vendor to make drag and drop-style programming mainstream. But its superstar developers seem to prefer old-school modes of crafting code. During the panel at the Professional Developers Conference earlier this month, the devs also revealed why they think writing tight, bare-metal code will come back into fashion, and why parallel programming hasn't caught up with the processors yet." These guys are senior enough that they don't seem to need to watch what they say and how it aligns with Microsoft's product roadmap. They are also dead funny. Here's Jeffrey Snover on managed code (being pushed by Microsoft through its Common Language Runtime tech): "Managed code is like antilock brakes. You used to have to be a good driver on ice or you would die. Now you don't have to pump your brakes anymore." Snover also joked that programming is getting so abstract, developers will soon have to use Natal to "write programs through interpretative dance."

Sorry! There are no comments related to the filter you selected.

Of course (1, Funny)

Anonymous Coward | more than 4 years ago | (#30258226)

MSDN is another way of saying you don't know what you are doing.

Unless I forced to, I would never touch those kits (2, Interesting)

Taco Cowboy (5327) | more than 4 years ago | (#30258664)

There are times I am forced to, like if I'm doing gaming video, I have to do it using the Direct-X toolkit.

I mean, there is no other way around, since some users are using ATI cards and CUDA is useless on ATI GPUs.

But on other projects, I do bare metals, and when I have the chance, I go assembly.

eat my shorts slashdot !! (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30258228)

Eat my shorts slashdot !!

Re:eat my shorts slashdot !! (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30258298)

I don't like short. Can I suck your cock instead?

Re:eat my shorts slashdot !! (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30258330)

I don't like short. Can I suck your cock instead?

You Apple fanboys!

Wow! (5, Informative)

Anonymous Coward | more than 4 years ago | (#30258230)

Advanced developers who learned how to code on what would be considered bare bones IDEs don't feel the need to use tools that are meant to let low level developers produce functional GUI applications without having to dedicate tons of hours.

News at 11!

Package Runners vs Programmers (4, Insightful)

icebike (68054) | more than 4 years ago | (#30258332)

Well you are very close to the mark here.

The integrated IDEs arose to allow the hobbyist and corporate IT newbie turn out something, which has a good chance of being functional if not maintainable or efficient. These tools also allow specialists from other fields (accountants, meteorologists, scientists) actually turn out products.

Efficiency, maintainability and extensibility don't matter for that type of programmer. They just need to put up a few screens to count the widgets or produce the daily report. It doesn't have to be portable,or efficient, and chances are it will be tossed as soon as that programmer moves on to another job.

Those programmers do manage to turn out a reasonable amount of customized applications, some of which are actually marketable. The vast majority are for in-house use. But some actually work quite well for specialized industry applications like Medical Billing, where the knowledge of the subject matter is more important than the efficiency of the code.

OS level code has to be much more efficient, and there is no substitution for knowing the programming language, the processor capabilities, and the compiler peculiarities. You can not leave to some IDE the task of putting code behind a button that will drag in half a ton of MS Foundation Classes or use some particular C/C++ construct that is horribly inefficient. You are basically always dealing with some data stream or message and doing X Y and Z with it and handing it off to the next task.

As such these guys virtually never see a piece of data all the way thru the computer. Their customers are other pieces of software. Their wholesaler are yet more pieces of software. Its data-in, whack it, pound it, and pass it on sort of code, and a lot of it, and a lot of self plagiarism. The IDEs just get in the way.

Re:Package Runners vs Programmers (5, Insightful)

KibibyteBrain (1455987) | more than 4 years ago | (#30258446)

Only one of these guys said anything about not liking to use an IDE. I use IDEs to write assembler language for microcontrollers at work every day. Sure I could do it in an editor as well but I much prefer the graphical debugger and simulator of my IDEs as being able to see all the dozens control registers' and fuses' bits graphically during the execution of each instruction is easier for my mind to wrap itself around than my screen littered in hex or ones and zeros, at least sometimes. That said, my assembler's emitted machine code is no different than if it wrote it in Vim and then ran the command line based build tools, which are the same thing my GUI runs when I press the associated F-key.

So the IDEs really have nothing to do with the so called "designers" you see in Visual Studio. And yes, its true that no developer who was serious about maintaining a multi-year product could do it via the designers before, you just had no control over WTF was going on. Now with WPF and xaml you finally can use the designers in a maintainable fashion, but it's a bit too little, too late for most developers to care. You can write pure Windows code in C as a makefile project(so you have clear control over the build, even to the point of a different toolchain like GNU) just as well in the Visual Studio 2010 IDE as with Vim and the command prompt tools. It's just a matter of if the IDE at that point gets in the way more than it helps.

Rather smug, I think. (5, Insightful)

KingSkippus (799657) | more than 4 years ago | (#30258500)

The original article and the summary both come of as rather smug to me. The truth of the matter is that you need both low-level nitty-gritty programming and high-level programming. It depends on what you're using it for.

Think of it this way. You have people who make pipes. You know, the kind used in plumbing. Fittings, too. And they're very good at it. If you take your average house builder and try to get him to make a pipe, he'll be hopelessly bad at it. But you know what those guys who build houses are good at? Putting the pipes together in meaningful ways to get what they need (i.e. building a house) done. Take a guy who's brilliant at making pipes and fittings and try to get him to build a house. Yeah, not such a superstar now.

It's the same with programmers. Tell someone who is very good at writing low-level code, "I need a killer efficient compiler." Give them enough time, and they can churn it out and make it wicked optimized. Tell them, "I need a new type of control that works in this specific way and with crucial efficiency," and they're your guys. Tell them, "I need an new application entirely from scratch that can process my specific business logic, it needs to look and feel like a standard Windows application, it needs to be easy for end users to figure out and work with, and we need a working version in a couple of weeks," and they'll probably laugh at you. Yet that's what those people they're looking down on, the people developing with higher-level abstracted languages, are doing every day.

In my experience, competence != usefulness. They're not opposites, mind you, but it takes both types. It takes the people who work with the low-level nitty-gritty stuff, and it takes the people who use what they churn out to actually accomplish real-world productive things. One isn't smarter, one isn't better, neither should be looked down upon. Both are necessary.

Re:Wow! (4, Interesting)

rickb928 (945187) | more than 4 years ago | (#30258596)

We've got a crew of .NET developers writing us an updated replacement to an existing VB app. I keep calling the new interface Fisher-Price, but actually it's Hasbro. I was mistaken, but an easy mistake to make.

Where it should absolutely take two clicks to make something happen, they found a way to make it five. Where you should enter a date, they found a way to not allow special characters, like '/'. Where you should enter an address, well, no spaces allowed. Basic functionality is lacking for several features, but the interface is there.

And no help files yet, despite beta release pending in a few days. In fact, though we have well over 1,000 pages of documentation, there seems to be no functional install that preserves the users' data in case they need to reinstall. I'm told that the next build introduces that.

For all the fancy IDEs, tools, etc, these guys are still not getting it done. I dare not say how far behind schedule this is, nor what the actual platform is, or someone will guess and raise hell over how anyone could be so insensitive as to speak the truth.

Your tools mean crap, if you're incapable. Just as your plumber would probably suck at actually making the pipe, your developers will suck if they don't 'get' what your users actually do.

Of course, it would help if they asked what the users actually do.

But I'm not bitter. I get to support this. Plenty of work.

Writing windows GUIs (3, Insightful)

NoYob (1630681) | more than 4 years ago | (#30258618)

When I have to write a Windows GUI app, C# rocks! I can design the UI whip off the code and be done with it. It's better than MFC and after writing countless message loops in win32 and OS/2 for that matter, I don't think writing more GUI boiler plate code, using the APIs to match resource IDs, and all that mindless coding will do any good - especially when I need the time to figure out an algorithm or other problems. And I can still do low level stuff (really low level) with P/Invokes, so the only thing I'm really missing out is busy work. And if there's a time when I DO need the control and abilities of unmanaged code, well there's the C++ stuff.

Re:Wow! (3, Insightful)

ClosedSource (238333) | more than 4 years ago | (#30258674)

Well, I like some of those guys but as someone who has been closer to the bare medal than they have (I'm a former Atari 2600 programmer), I'd say that the habits of old pros say little about the quality of today's tools.

We used 6502 cross-compilers on a PDPxx and VAX, not because we thought the command-line was better but because that was the best we had at the time.

BTW, I'm not trying to say that I'm better or smarter than those other guys, I just have written very low-level, real-time code.

So what? (3, Insightful)

Aphoxema (1088507) | more than 4 years ago | (#30258234)

I hate Microsoft more than anyone, but... I really don't see an issue or any hypocrisy here.

Re:So what? (3, Informative)

ceeam (39911) | more than 4 years ago | (#30258346)

That's because you weren't reading the ads - direct or indirect - of these MS "dev tools" (in magazines etc)

And you haven't been affected by managers who were reading them.

Re:So what? (4, Insightful)

Shakrai (717556) | more than 4 years ago | (#30258366)

I really don't see an issue or any hypocrisy here.

Yeah, really. Senior Engineers disagree with company marketing strategy and prefer to keep things simple. That isn't newsworthy -- that's a Dilbert strip ;)

Re:So what? (5, Funny)

gzipped_tar (1151931) | more than 4 years ago | (#30258660)

I hate Microsoft more than anyone

See, being subjected to IDEs has lowered your ability of detecting faulty code. You're basically saying A > A since this "anyone" includes "you" too. ;)

pros and cons (1, Interesting)

gcnaddict (841664) | more than 4 years ago | (#30258236)

The only pro: anyone can probably learn to write some sort of simple application through Microsoft's tools via managed code.

The cons: managed code doesn't give nearly as much control because it tries to spoonfeed you. This is basically a catch-all for every con anyone can think of for managed code.

Re:pros and cons (4, Insightful)

sys.stdout.write (1551563) | more than 4 years ago | (#30258378)

C'mon, this is unfair. By your logic we shouldn't have Perl or Python or any other scripting language because they "[don't] give nearly as much control because it tries to spoonfeed you."

There are lots of situations when you don't need to twiddle the bits or delete your own allocated memory. What's wrong with simplifying the language for simplified tasks?

It's not like Microsoft doesn't support low-level languages.

Re:pros and cons (5, Funny)

sys.stdout.write (1551563) | more than 4 years ago | (#30258394)

I just realized that I am now committed to the proposition that Perl "tries to spoonfeed you." I am not sure this is a good position to be in ;-)

Re:pros and cons (1)

Shakrai (717556) | more than 4 years ago | (#30258396)

What's wrong with simplifying the language for simplified tasks?

Nothing. The problem comes when people try to use the simplified language for things that it was never intended to do. You wouldn't write the Linux kernel in Python, would you?

Re:pros and cons (1)

icebraining (1313345) | more than 4 years ago | (#30258502)

Singularity is an experimental operating system being built by Microsoft Research since 2003. It is intended as a highly-dependable OS in which the kernel, device drivers, and applications are all written in managed code.

http://en.wikipedia.org/wiki/Singularity_(operating_system) [wikipedia.org]

Re:pros and cons (0, Flamebait)

Anonymous Coward | more than 4 years ago | (#30258634)

The key word here is experimental. As in it will never see the light of day other than to con people into thinking managed code can do more than it can. Which worked on you.

Re:pros and cons (1)

gzipped_tar (1151931) | more than 4 years ago | (#30258478)

...because they "[don't] give nearly as much control because it tries to spoonfeed you.

#include "Python.h"

Re:pros and cons (1)

arth1 (260657) | more than 4 years ago | (#30258646)

What's wrong with simplifying the language for simplified tasks?

Absolutely nothing.
The wrongness occurs when well-meaning managers with a deadline think that because the environment is good for creating "foo", it is also good for "bar". And the fifty developers he already has hired aren't going to gainsay him and say "hey, boss man, perhaps it isn't a good idea to use Visual Whatever (substitute Java/Eclipse if needed) for developing real-time device drivers..."

Using a duck typed object oriented and multi-abstracted environment to create something low level is as wrong as using Excel for its grid capabilities (e.g. to store phone lists). Both are common, and both are just plain wrong.

Wikipedians are fucking bastards (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30258246)

PLeae help shut down Wikipedia the internet has had enough it time to strip admins naked and get them to suck vandals cock.

Those onion belts are going bad (5, Interesting)

BadAnalogyGuy (945258) | more than 4 years ago | (#30258248)

Yes, in some respects, programming is becoming easier and more unqualified people are able to do it.

But I think that these guys are really missing the boat. The closer the programming environment can come to providing domain-relevant expression tools to the user, the better they will be able to create programs that fit their domain.

In addition, content these days is a form of programming. Whether it is HTML/CSS or word processing or spreadsheets, the distinct line between what is a program and what is pure data is blurred beyond recognition. So a programming language for interpretive dance would probably find the Natal very useful.

Re:Those onion belts are going bad (2, Insightful)

MBCook (132727) | more than 4 years ago | (#30258328)

Wow. BadAnalagyGuy got an insightful. Someone didn't read the full comment.

Of course, this isn't true. The thing about end users is, they generally don't know what they want. Even if they had a tool that would do whatever they say, it won't solve their problem because they don't know how to formulate it. The tool would need to read their mind, to the point of making something they didn't even realize they really wanted.

Re:Those onion belts are going bad (1)

hughperkins (705005) | more than 4 years ago | (#30258584)

I felt BAG's post was pretty insightful to be honest. I feel that one could argue that the entire Facebook interface is a type of programming language in some ways. Not Turing complete admittedly. You can argue semantics over what is an isn't a programming language. My feeling is: if you can communicate to the computer something that you want done, and it does it, whatever the semantics that's a pretty cool thing to happen. Can Facebook users communicate what they want to do to Facebook? They seem to do quite well at that I feel. Does Facebook do roughly what they want as a result? Sometimes ;-) but more seriously: yes, I feel that Facebook does exactly what people want.

The 'figuring out what people want' can be implicit in the design of the programming language, and I think that fits in fairly closely I feel to what BAG was saying in his post?

Re:Those onion belts are going bad (1)

MBCook (132727) | more than 4 years ago | (#30258778)

See that's the part of his post that I don't agree with at all, the 3rd paragraph. Word is not a programming language. It lets you markup text, but that's it. If you're talking about VBA, that's not Word, that's VBA. CSS doesn't begin to approach a programming language. Spreadsheets can be used that way, but they quickly become unwieldily.

I don't see how anyone could call Facebook a programming language. Could you explain that part of your comment? You can move things around and post messages, but there is no programing to it. You are limited to what is pre-scripted for you. You can't go searching for people who went to your high school between the ages of 20 and 25 who are still single and live within 250 miles of you. You can't even conditionally format people's post (i.e. highlight a specific friend, unless he posts more than X a day).

BAG's second paragraph I responded to in my comment, I simply disagree. The 3rd just seems like "how can I stretch stuff".

I mean, you can't take "So a programming language for interpretive dance would probably find the Natal very useful." line seriously, can you? Even if someone made it, it would be like whitespace, just a joke. The energy required to make even a simple Hello, World would make it useless for anything.

Re:Those onion belts are going bad (1, Insightful)

icebike (68054) | more than 4 years ago | (#30258402)

The closer the programming environment can come to providing domain-relevant expression tools to the user, the better they will be able to create programs that fit their domain.

Well said.

Nobody does accounting better than an accountant.

But its not always the best Idea to hand data system development to an accountant and hope for the best. Some one has to guide that guy doing the data editing, manipulation, and storage just like that guy has to guide the programmer how to keep his company books, file taxes, etc.

And this is where the current crop of tools fail. They let you build things that can go horribly wrong, because of simple errors that a professional programmer might have caught. They are like a bag of wrenches being a substitute for a good auto mechanic. (Obligatory car analogy).

We probably need better design tools, that can capture what it is the accountant wants in terms of inputs, outputs, retention, and quality assurance. Then the code cutting can be done by specialists, or generated code, as the situation dictates.

Danger: Watch for rocks. (1)

asackett (161377) | more than 4 years ago | (#30258540)

Uh, with all due respect: To say that "the distinct line between what is a program and what is pure data is blurred beyond recognition" merely proves that you've never understood the difference.

Re:Those onion belts are going bad (1)

cupantae (1304123) | more than 4 years ago | (#30258738)

So a programming language for interpretive dance would probably find the navel very useful.

There. Fixed it for you.

I agree (0, Troll)

Orion Blastar (457579) | more than 4 years ago | (#30258254)

because the modern Microsoft development tools need that infernal Dotnet library to be loaded and then when it gets messes up any software that depends on it does not work.

So instead of Visual C++ use GNU C++ or Borland C++ to write the Windows code to do what you want because it does not depend on the Dotnet libraries.

Also when you use the alternative development tools, you can write code for older versions of Windows like Windows 95 and Windows 98. Yeah I know Microsoft doesn't want to support them, but people still use them in mass numbers because they cannot afford to upgrade.

I still get job offers for Visual BASIC 6.0 and under, due to "Legacy Software" on "Legacy Windows Systems" because the Dotnet versions of Visual BASIC don't work to well on older systems. I could even write books on the subject.

When I researched the Visual BASIC.Net 2002 development tools in beta I noticed those problems and my employer thought I was crazy. They moved on to Dotnet without me, having fired me for getting sick on the job and I eventually ended up so sick from the stress that I ended up disabled. I went on short-term disability for a while, tried a few more jobs, but ended up on disability. But the Visual BASIC.Net 2002 was full of bugs and I saw the dependence on Dotnet to be a liability. I knew this from when we used the WANG ImageBASIC controls and with IE 5.0 they stopped working and with MS-Office upgrades they broke the ImageBASIC Controls. We replaced them with Leadtools later. But Dotnet is huge and bloated and full of stuff most developers don't need but is loaded anyway. In creating Dotnet, Microsoft put many of the OCX and library control people and companies out of business as Dotnet replaced their controls.

Re:I agree (2, Funny)

Anonymous Coward | more than 4 years ago | (#30258282)

When I researched the Visual BASIC.Net 2002 development tools in beta I noticed those problems and my employer thought I was crazy. They moved on to Dotnet without me, having fired me for getting sick on the job and I eventually ended up so sick from the stress that I ended up disabled. I went on short-term disability for a while, tried a few more jobs, but ended up on disability.

Wow! I never thought I'd see a "crappy Microsoft software made me disabled!" post on Slashdot. Though I guess it shouldn't come as a surprise to me.

Re:I agree (1)

Orion Blastar (457579) | more than 4 years ago | (#30258368)

Actually the stress was from management and coworkers, which the stress from Dotnet language was nothing compared towards. Everything was fine at my job, until I got mentally and physically sick, and then I was discriminated against until I kept getting sicker and sicker and eventually fired for being too sick.

I remember these words:
"Programmers are a dime a dozen. We get 500+ resumes a week for your position alone. We can easily hire a programmer who won't get sick on the job for a fraction of what we pay you." after that I was fired and escorted out by a security guard and my programming books and other property got mailed to my old address and I had to hunt it down to get it back. You'd think they'd use my new address instead of the old one, as my paychecks were mailed to my new address not the old one.

But it wasn't VB.net alone that made me sick, I want to clarify.

Re:I agree (0)

Anonymous Coward | more than 4 years ago | (#30258520)

Boohoo.

Re:I agree (0)

Anonymous Coward | more than 4 years ago | (#30258668)

Between this and your claims of discrimination in the last story, you sure do seem to love playing the victim. And seeing as how you pulled out all that discrimination crap due to a wee little AC post, I'm inclined to think that you over-exaggerated this whole thing, too. You probably got fired because you were a shitty employee. But you would never own up to any fault of your own. It's always someone else "discriminating" against you.

Re:I agree (5, Interesting)

0123456 (636235) | more than 4 years ago | (#30258302)

because the modern Microsoft development tools need that infernal Dotnet library to be loaded and then when it gets messes up any software that depends on it does not work.

Indeed. One of my PCs has a broken '.Net framework' which can't be fixed without a complete reinstall of the operating system: even Microsoft's own 'completely obliterate every last trace the bloody thing' uninstaller isn't enough to remove all the traces which prevent it from reinstalling properly. As a result, a lot of new software simply will not run.

Fortunately I do most of my useful work on Linux or Solaris these days so not being able to run random Windows software is no big deal, but '.Net' is such a monstrosity that it makes 'DLL Hell' look good in comparison; if even Microsoft can't fix it when it breaks, what chance do users have?

Re:I agree (0)

Anonymous Coward | more than 4 years ago | (#30258538)

I've worked with .NET from the beginning. I can't recall ever seeing a "broken '.Net framework'" install. I can't recall ever having to reload Windows to fix a .NET problem. Not sure what you guys are working on; maybe .NET isn't the right choice some applications. However, I think it's good enough for business application development (i.e. reading/writing data from/to a database; web services; asp.net; etc.). Maybe you everyone here is working on avionics systems or Cmd. Data androids :) ?

Re:I agree (1)

David Jao (2759) | more than 4 years ago | (#30258810)

Indeed. One of my PCs has a broken '.Net framework' which can't be fixed without a complete reinstall of the operating system: even Microsoft's own 'completely obliterate every last trace the bloody thing' uninstaller isn't enough to remove all the traces which prevent it from reinstalling properly.

Did you try Aaron Stebner's .NET cleanup tool [msdn.com] ? It's not an official MS product but it's written by an MS dev. I had a system with the same problem, and the cleanup tool fixed it.

Re:I agree (0)

Anonymous Coward | more than 4 years ago | (#30258304)

Visual C++ 2008 does not require you to use .NET, it can use the plain old Win32 API just like every version before it. For C++, at least, .NET is optional.

Visual C#, however, requires .NET because it was created specifically to be the premier language for .NET development, and VB was forced over to .NET because VB was always a bit of a baby language and .NET makes things even simpler.

Re:I agree (1)

Orion Blastar (457579) | more than 4 years ago | (#30258338)

Actually BASIC and Visual BASIC are beginner languages. The B in BASIC stands for beginners. Not a "baby" language. You can still get things done in Visual BASIC but you don't have the control or memory management of C++ or C#.

I never used the Visual C++.Net languages, so I didn't know that. I usually use Turbo C++ for MS-DOS, or Borland C++, or even GNU C++ or MINGW C++ or C++ with Cygwin instead. I don't really see a need for a MS-C++ anymore when there are FOSS alternatives or cheap alternatives as in Turbo C++ and Borland C++ etc.

Re:I agree (0)

Anonymous Coward | more than 4 years ago | (#30258364)

Yes, people often forget that BASIC stands for "Beginners' All-purpose Symbolic Implementation Construct".

How such a language became the defacto standard language of business is mind boggling.

Hey remember the 8-bit 1970's and 1980's? (4, Insightful)

Orion Blastar (457579) | more than 4 years ago | (#30258420)

When BASIC was bundled with almost every 8-Bit computer sold in the 1970's and 1980's? It was the default language on most of the systems sold and other languages like FORTRAN, C/C++, Pascal, COBOL, etc had to be bought separately. So the el cheapo way to program was via BASIC. Many computer magazines issued BASIC programs in them and cross platform modifications for Apple //, Commodore 64, IBM PC MS-DOS, Atari 800/400, TRS-80 and TRS-80 COCO, TI 99/4a, etc that had BASIC default.

Borland turned Turbo Pascal into Borland Delphi, but Microsoft turned GWBASIC and Quick BASIC into Visual BASIC. Then when Windows dominated the Visual BASIC took over C++ and Delphi, as it was easier to program in for managers to understand. I didn't program in Visual BASIC because I liked it, I programmed in it because the job required me to do so. My managers didn't understand Java, C/C++, Python, Perl, PHP, etc, only BASIC and Visual BASIC, so they didn't trust programmers to write with anything else. Most of the Microsoft Windows IT/IS departments are run almost the same way and most of them use Visual BASIC (or in some cases Visual C# as it is easier than C++) because it is easier for management to understand what their programmers are doing and review code.

You don't earn money programming with your choice of a programming language, you earn money with a programming language that your employers choose for the jobs that are available in your area. Unless you want to migrate to a Linux or Macintosh IT/IS department, but sometimes you have to settle for a Visual BASIC development job and have no choice in the matter.

Just that now Microsoft Programmers are catching on that Dotnet is rotten, and if corrupt any program written to use it won't work.

Re:I agree (1)

geminidomino (614729) | more than 4 years ago | (#30258462)

I remember reading that it was "Beginners' All-purpose symbolic instruction code" (this is in one of my dad's old programming books when I was a wee lad. I'm surprised I even remember it)

Re:I agree (0)

Anonymous Coward | more than 4 years ago | (#30258410)

Visual C++ 2008 does not require you to use .NET, it can use the plain old Win32 API just like every version before it. For C++, at least, .NET is optional.

Visual C#, however, requires .NET because it was created specifically to be the premier language for .NET development, and VB was forced over to .NET because VB was always a bit of a baby language and .NET makes things even simpler.

I Knew there was a reason i wanted to upgrade from vs2003 to 2008.

Against the grain, I don't develop professionally. I use what bit of programming skills i have to slap together widgets and apps for my own use, and have found .net to be "somewhat useful" in the same sense that java's swing is. Bloated and huge, and a bit of a pain to remember all the crap it can do/does but bits of it are handy.

Re:I agree (0)

Anonymous Coward | more than 4 years ago | (#30258350)

Wait. Wait. Wait. You're saying that people who "can't" afford a $50 per seat volume license for a new OS can afford to buy new software written for the old OS? And you expect to make a profit off of those people? Let me know how that works out for you...

Re:I agree (4, Informative)

evilviper (135110) | more than 4 years ago | (#30258386)

Many companies aren't big enough (or use Windows extensively enough) to get a volume license. And besides that, the significant cost is not the license, but replacing the hardware, and all the man-hours of work getting all the old apps up and working again.

Windows 9x will remain for many years to come, on business PCs with modest needs. And yes, there periodically need to be new programs written, as well as several old programs maintained.

Re:I agree (1)

Cwix (1671282) | more than 4 years ago | (#30258656)

IT program Im in focuses on xp environments, we are told often (Only been in school for about a year, and Ive heard it at least 20 times.) that we should expect to see older operating systems and computers. Most of the businesses in my area have switched to XP at least, so my school teaches based upon the needs of local businesses.

Re:I agree (2, Informative)

Cyberax (705495) | more than 4 years ago | (#30258372)

WTF?

VisualStudio supports plain old C++. In fact, the new MSVS it's THE BEST editor for plain old C++, with the best autocomplete and refactoring support for C++ which exists in this Universe. I routinely write kernel-mode code in it, for example.

Some features like online C++ error checking are simply unique.

Re:I agree (4, Informative)

jpmorgan (517966) | more than 4 years ago | (#30258428)

Huh? If you don't want .NET, don't use a Managed C++ project, use a native C++ project. You can control exactly what libraries are included, and no, it doesn't include .NET libraries by default. I'm not sure how you can claim to know anything about Visual Studio, if you don't know this.

Re:I agree (1)

Orion Blastar (457579) | more than 4 years ago | (#30258562)

As I said I don't use Visual C++, only Visual BASIC. I use a different C++ compiler than Visual C++ so there is no need to buy Visual C++.

I never said I knew everything about Visual Studio, quit putting words in my mouth.

Re:I agree (0)

Anonymous Coward | more than 4 years ago | (#30258606)

So instead of Visual C++ use GNU C++ or Borland C++ to write the Windows code to do what you want because it does not depend on the Dotnet libraries.

Perhaps this is the line that he was confused about... It seems pretty clear that you imply using Visual C++ requires that you depend on the DotNet libraries (which you argue in your reply isn't the case). Perhaps you out to look at the words that came out of your mouth as well as those that are still in it...

Re:I agree (1)

Orion Blastar (457579) | more than 4 years ago | (#30258694)

Yes I agree it wasn't written that well. I had forgotten about Visual C++ can write code without Dotnet when I wrote it. I did later write that I didn't even use Visual C++.Net because I use other C++ compilers. I wrote a correction later, which was ignored by the poster.

On the other hand (1)

earnest murderer (888716) | more than 4 years ago | (#30258258)

You don't have to be a crack programmer or have a team of them to publish great software on a deadline.

Yes, it helps. A lot. And in a serious large scale development effort you want as many as you can get...

But it's good to be able to be useful without having to be elite.

and this is a good thing (1)

lapsed (1610061) | more than 4 years ago | (#30258268)

I use Visual Studio because I couldn't program my way out of a wet paper bag. I'd be a bit concerned if the people writing the application were similarly impaired.
VB.NET and Microsoft's other tools make programing possible. People on slashdot will argue that this leads to bad applications, but the choice is between bad applications and no applications, not bad applications and good applications. Granted, sometimes bad applications are dangerous, but that's not a sufficient rationale to withhold these types of tools.

elitist morons (3, Funny)

timmarhy (659436) | more than 4 years ago | (#30258270)

so MS has elitist morons in their ranks as well, how is this news?

I don't care what the MS Developers use (2, Insightful)

denalione (133730) | more than 4 years ago | (#30258276)

It does not affect my decisions at all.
Businesses aren't in business to push programming ideology. They are in business to make money. If I need an application I'm going to get the application that does the job for the least amount of money (all the caveats about it not being poorly written and being moderately open to possible future expansion, etc.. apply). If I need bare-metal code then I'll get a guy to do that. If VB will do the job then I'm going to get a guy to do that and probably a bit cheaper. I don't care what the language is. I care that the problem is solved adequately for the least amount of overhead possible.

Re:I don't care what the MS Developers use (0)

644bd346996 (1012333) | more than 4 years ago | (#30258406)

You're on the wrong forum. This is developers.slashdot.org. You don't write the code, so you shouldn't have to worry too much about what language or platform it is. (And if you do, the programmers working for you will probably hate your PHB-style micromanaging.)

To those of us who do write code for a living, this kind of thing is very interesting and relevant. If even Microsoft's hired geniuses don't like Microsoft's tools, then one can infer that there are very few programming geniuses around that would like Microsoft's tools, and so anybody who does like Microsoft's tools is extremely unlikely to be a superstar coder (or else they are so inexperienced that they don't know anything else - either way, they are worth far less than a true superstar coder).

There's also the fact that user interfaces that can't accommodate expert users also tend to cramp intermediate users as well, just in less obvious ways. The fact that the best coders in the business can't stand Microsoft's tools strongly suggests that they are sub-optimal for the run-of-the-mill programmers, too.

Re:I don't care what the MS Developers use (2, Informative)

Anonymous Coward | more than 4 years ago | (#30258612)

Nice strawman argument, but this is simply a case of old dogs vs. new tricks.

Besides, the people they're quoting don't really do much "in the trenches" coding anymore. They're in architect positions (which at Microsoft usually means "code evangelist").

Programmers I've worked with (-1, Troll)

HangingChad (677530) | more than 4 years ago | (#30258294)

The biggest posers I worked with used Visual Studio. The best group of programmers I worked with used text editor. That group could code rings around VS. The best of the best of them used vi.

I use text editor and Eclipse.

Re:Programmers I've worked with (2, Funny)

the_povinator (936048) | more than 4 years ago | (#30258426)

The biggest posers I worked with used Visual Studio. The best group of programmers I worked with used text editor. That group could code rings around VS. The best of the best of them used vi.

I'm a great programmer and I use emacs, you insensitive clod!

Re:Programmers I've worked with (1)

kybred (795293) | more than 4 years ago | (#30258558)

The biggest posers I worked with used Visual Studio. The best group of programmers I worked with used text editor. That group could code rings around VS. The best of the best of them used vi.

I'm a great programmer and I use emacs, you insensitive clod!

I don't know that I would say I'm a 'great' programmer, but I do OK. I use VI, but have great respect for emacs users.

Most (all) of my co-workers use a nice IDE editor. I think it's a good code browser but I'm much faster editing with two or three gVim windows than I am with the IDE.

A cow-orker of mine is pretty good using Visual Studio to create apps, but he has no clue about making things thread safe. Causes very hard to find problems.

Re:Programmers I've worked with (5, Insightful)

Abcd1234 (188840) | more than 4 years ago | (#30258464)

The biggest posers I worked with used Visual Studio. The best group of programmers I worked with used text editor. That group could code rings around VS. The best of the best of them used vi.

This is absurd. Visual Studio, Eclipse, Vim, these are fucking *tools*. People use tools, not because the people are better, but because they find the tools useful.

Me, if I'm writing code for Unix or my DS, yeah, I prefer a maximized xterm, GNU Screen, and Vim. But if I'm writing a .NET application, I'm gonna use Visual Studio, as it's a very powerful development environment (doubly so when coupled with ViEmu).

OTOH, people who judge others based on their choice of IDE? Those people *are* tools...

Re:Programmers I've worked with (2, Interesting)

MBCook (132727) | more than 4 years ago | (#30258802)

The article didn't actually have much in it, it was Computer World after all, but it makes sense if you read it as visual programming tools instead of Visual Studio. The article seemed, as CW articles tend to, that it was a good article that was cut to 1/4 it's original size just because.

With today's libraries, a half-decent IDE can make a huge difference in productivity. But the comment about zooming in and out makes perfect sense if you think of the "I'll drag an IF block here, then wire it to the blah field..." kind of visual programming. The kind that people are always trying to make so that programming will be available to the "everyman". The kind that never works.

Hypercard is the closest I've ever seen this come to working well. It's so sad Apple never knew what to do with it. It was approachable, and for simple record keeping was rather easy. HyperScript worked very well and was extremely approachable, especially with it's ability to do things like "take word 5 of line 2 of textbox".

Re:Programmers I've worked with (1)

icebraining (1313345) | more than 4 years ago | (#30258568)

Supposedly through either Vimplugin or Eclim you could get the advantages of both, but I couldn't get them to work :(

modify that analogy (5, Interesting)

v1 (525388) | more than 4 years ago | (#30258296)

"Managed code is like antilock brakes. You used to have to be a good driver on ice or you would die. Now you don't have to pump your brakes anymore."

Might have been more appropriate to compare it in that people in the high performance arena (nascar) don't like antilock brakes because of their limits and the separation you get from your task at hand. (you lose your "feel for the road")

Tho I'm a little strangely biased, I miss the days of assembly, when 10k was a LOT of code to write to solve a problem, thing ran at blindingly fast speed with almost no disk or memory footprint. Nowadays, Hello World is a huge production in itself. 97% of today's coders don't have any idea what they've missed out on and just accept what they've got. Even someone that understands the nerf tools like VB at a lower level can get sooo much more out of them. I recall taking someone's crypto code in VB and producing a several thousand-fold speed boost because of my understanding of how VB was translating things. They didn't know what to say, they'd just accepted that what they were doing was going to be dog slow. (and unfortunately the users are also falling under the same hypnosis)

Re:modify that analogy (1)

Timothy Brownawell (627747) | more than 4 years ago | (#30258448)

"Managed code is like antilock brakes. You used to have to be a good driver on ice or you would die. Now you don't have to pump your brakes anymore."

Might have been more appropriate to compare it in that people in the high performance arena (nascar) don't like antilock brakes because of their limits and the separation you get from your task at hand. (you lose your "feel for the road")

Or note that antilock brakes can increase your stopping distance.

Tho I'm a little strangely biased, I miss the days of assembly, when 10k was a LOT of code to write to solve a problem, thing ran at blindingly fast speed with almost no disk or memory footprint. Nowadays, Hello World is a huge production in itself. 97% of today's coders don't have any idea what they've missed out on and just accept what they've got. Even someone that understands the nerf tools like VB at a lower level can get sooo much more out of them. I recall taking someone's crypto code in VB and producing a several thousand-fold speed boost because of my understanding of how VB was translating things. They didn't know what to say, they'd just accepted that what they were doing was going to be dog slow. (and unfortunately the users are also falling under the same hypnosis)

Managed code does (well, can) have one totally awesome feature: provable type safety. What makes this great, is that you can take the memory protection hardware out of your CPU (where AIUI it tends to be on the critical path), and replace it with some checks in your compiler and some bounds-checking on array accesses. So basically you're moving most of the (fairly significant) work of keeping programs separate out of the tightest loop possible and instead doing it once at startup time. Even running on standard x86 with some of the protection features disabled [microsoft.com] still gives a noticeable speedup (see section 4.2 at the link).

Re:modify that analogy (1)

Abcd1234 (188840) | more than 4 years ago | (#30258750)

Managed code does (well, can) have one totally awesome feature: provable type safety.

That's ridiculous. There's absolutely nothing about "managed code", aka bytecode, that makes it type safe. Type safety is a function of the language... it just so happens that two of the most common "managed code" languages, C# and Java, are both strongly, statically typed.

OTOH, Haskell is probably the most strongly typed language out there, and it compiles down to machine code binaries.

Re:modify that analogy (0)

Anonymous Coward | more than 4 years ago | (#30258542)

Who let a VB coder implement a cryptosystem? I can't imagine that there's a lot of overlap between VB coders and people qualified to write a production cryptosystem.

Re:modify that analogy (2, Insightful)

v1 (525388) | more than 4 years ago | (#30258776)

Who let a VB coder implement a cryptosystem

well in this case all we actually ended up needing was the SHA1 and MD5 hashing, but he wanted to be complete about things so we did the full RFC. Still we had to hash 1mb blocks so speed was important. 4 seconds was dropped to a very small fraction of a second. But you really got to see the improvements when trying to do actual encryption.

But when coding crypto, the tool isn't the first place you should look for security - pay more attention to the meatbag.

If not DotNet, do they prefer the MFC Cruftorama? (1)

Latent Heat (558884) | more than 4 years ago | (#30258610)

If these guys don't like developing to DotNet, what do they use to develop for Win32?

Do they use MFC, with its cruftology of C++ classes, templates, macros and You-Can't-Touch-This "wizard" generated code?

Or do they use MFC with out the "wizard" code from an IDE?

Or do they have their own C++ object library for Win32/COM/ActiveX that is not "out in the wild?"

Or are they writing the Big-Fine-Case-Statement of Win32 programming under C?

Abstraction vs Managed (1)

minsk (805035) | more than 4 years ago | (#30258342)

This seems a good place to point out one of the chronic errors of people talking about software development...

Abstract does not mean slow, bloated, inefficient, or incomprehensible.

Having the wrong abstraction for the task at hand, however, often does. And blindly questing after "managed" "portable" and "high-level" is a good way to get abstractions which work poorly for *any* task. At best, you get Java/.Net/Javascript... tolerable for many tasks, and completely useless for others.

No, it's just "old dogs - new tricks" (3, Interesting)

Opportunist (166417) | more than 4 years ago | (#30258348)

I could write a lengthy essay about how old programmers don't like to use new tools that offer them little because they already know all the tricks and gadgets for their old, "inferior" and more complicated tools, while new tools are perfect for new programmers because they don't have to learn so much to achive the same results because those tools are easier to use and the learning curve isn't so steep until you have a result, but I think I can sum it up in a single word:

Emacs.

Re:No, it's just "old dogs - new tricks" (1)

schklerg (1130369) | more than 4 years ago | (#30258554)

Surely you mean vi...
FLAME ON!

Uh, sure... (0)

msauve (701917) | more than 4 years ago | (#30258354)

let me know when they start writing "writing tight, bare-metal code" (i.e. assembler). C isn't that.

Re:Uh, sure... (1)

tftp (111690) | more than 4 years ago | (#30258508)

let me know when they start writing "writing tight, bare-metal code" (i.e. assembler). C isn't that.

Linux is 99% C and 1% assembler. Today it would be foolish to write the entire OS in assembler - at least because the compiler often optimizes the machine code better than you do, unless you really spend time on it. I wrote assembly code years ago, and it is minimally maintainable or reviewable. Imagine how far Linux 1.00 would go if it was all in assembly... and you'd immediately lose portability.

Re:Uh, sure... (1)

msauve (701917) | more than 4 years ago | (#30258586)

So, you're implying that Microsoft wrote Linux? Meh.

The point you are missing is that "bare-metal code" is assembler, regardless of how much effort is involved. Go ahead and write a real time driver in C, let me know how it works for you.

Re:Uh, sure... (4, Insightful)

tftp (111690) | more than 4 years ago | (#30258766)

The point you are missing is that "bare-metal code" is assembler, regardless of how much effort is involved.

I again have to point you to Linux or *BSD, these OSes have real time drivers in C. I don't recall seeing *any* peripheral driver in Linux that is not C. Practically all assembly code is under arch/ which means bootstrap, memory initialization and main timers. The rest is C.

Go ahead and write a real time driver in C, let me know how it works for you.

I'm doing this right now, and it is a very usual thing for me to do because I work on firmware for slower microcontrollers that run at clock speeds from 1.8 to 16 MHz. I have tons of peripherals in the MCU, and they must be serviced on time. A typical MCU project is a real time design. Sometimes I profile the code by connecting an oscilloscope to some spare pins and check that I have enough time in critical parts of the code. And *all* the code is C, compiled by avr-gcc 4.3.2. I have maybe 0.1% of the code that is in assembler, and that is stock macros that come with avr-gcc.

To illustrate, here [linux.no] you can see the lowest level of avr32 support, and you can observe how many LOCs are in .S and how many are in .c files. If still not convinced, visit mm/ [linux.no] and see what language the do_page_fault() [linux.no] is implemented in; that is one of most performance-critical pieces of code. C today is the "bare-metal" language of choice, and it works well in that role.

Why I prefer plain old text editors (0, Troll)

selven (1556643) | more than 4 years ago | (#30258392)

When I program using gedit, if there's an error I know that the error is somewhere in the written code in front of me. When I program using some IDE and there's an error, it might be hidden deep within 3 layers of menu options. There's much less control over the situation the second way.

Re:Why I prefer plain old text editors (5, Insightful)

Anonymous Coward | more than 4 years ago | (#30258504)

Yeah, because IDEs don't have lists of errors, and double clicking on the error doesn't take you right to the line where the error is. It's so much easier to hunt through random code than to look at the little red squiggle on the line the IDE pointed out to you.

I'd call you an idiot but that would be insulting to idiots.

My lawn (1)

EsJay (879629) | more than 4 years ago | (#30258430)

Get off it That is all

The most important question however is (5, Insightful)

ChienAndalu (1293930) | more than 4 years ago | (#30258436)

do they use vim or emacs now?

Re:The most important question however is (0)

Anonymous Coward | more than 4 years ago | (#30258654)

Most devs at MSFT (those who don't use Visual Studio) use emacs. However Visual Studio is far more widely used (not necessarily for the IDE, just the fact that it's a fine, programmable editor that offers lots of Windows conveniences -- and you can use it without using the IDE.)

Good debugger (2, Interesting)

jpmorgan (517966) | more than 4 years ago | (#30258444)

Intellisense is pretty slick, but overall if I'm doing development on Windows I'd rather use an emacs as my text editor.

Of course, Visual C++ makes a fantastic debugger. It's almost good enough to forgive Windows for its lack of valgrind. Almost.

Re:Good debugger (1)

Pharago (1197161) | more than 4 years ago | (#30258552)

intellisense it's broken, has always been broken and i think it will always be, i hate having to delete that damn .ncb file once in a while just to fix it

Not a surprise at all (1)

Pharago (1197161) | more than 4 years ago | (#30258452)

The point its easy to spot, which language is used to code kernel libraries? core operating system parts? drivers? big name applications? .net? i dont think so. if you dont mind, ill stick to my c/c++ coding practices for the time being, and btw me thinks vc9 is the new vc6, just saying

Dear Computerworld... (5, Funny)

TheModelEskimo (968202) | more than 4 years ago | (#30258514)

Our programmers are getting a bad rep because of our coding-for-weenies tradition. Can you please run an article that makes Microsoft programmers look like total badasses?

XOXOXO
-Steve B.

Those silly Rascals (0)

Anonymous Coward | more than 4 years ago | (#30258588)

Speaking of the article title, "Microsoft's Top Devs Don't Seem To Like Own Tools," the devs at Microsoft don't even use a publicly released version of Visual Studio. They use a special stripped down version called Rascal with most of the "features" removed, because the public version is too much of a system behemoth for them.

Leaks like a sieve (3, Interesting)

ToasterTester (95180) | more than 4 years ago | (#30258614)

I'd be frustrated too trying to write code with tools that generate memory leaks for days and sucks at returning free'd memory to the system. I remember one version of Word you could start it up and just let it sit, within and hour or so Windows would crash. Then the version of Excel that shipped with debug code because the stripped version would never pass QA. Aw fine tools.

Don Box is a tool (0)

Anonymous Coward | more than 4 years ago | (#30258630)

If ever there was a sign that Microsoft was on its way to circling the drain, it's Don Box being made a Distinguished Engineer.

Re:Don Box is a tool (0)

Anonymous Coward | more than 4 years ago | (#30258718)

Speaking as somebody who's programmed in COM, his title should be Grand Inquisitor.

Should have been in the original article. (1)

elamdaly (590256) | more than 4 years ago | (#30258650)

Here's the actual roundtable [microsoftpdc.com] for your viewing pleasure.

And next week... (0)

Anonymous Coward | more than 4 years ago | (#30258652)

we see a article about how Microsoft management decided to demonstrate that, however senior and important, developers DO have to watch what they say and respect the roadmap, at least in public, least they offend the egos of the management and marketiods... unless their management team is actually aware of how critical such skills are and how hard they are to replace. Somehow neither seems plausible.

Wizards and bad APIs (1)

surmak (1238244) | more than 4 years ago | (#30258666)

My biggest complaint about Visual Studio is the horrible API designs that it fosters. Since the APIs is so difficult to use, and so poorly documented (I'm thinking ATL, and to a lesser extent MFC) the only effective way to use them is to take advantage of the hand-holding that VS provides.

Snap (1)

Vamman (1156411) | more than 4 years ago | (#30258700)

You mean this intellisense IDE I use almost everyday makes me a weenie? I rarely read something on slashdot that makes me irritated but this does. I started with C then moved to C++ then I learned BASIC then Visual Basic then Perl then more C++ then PHP then C#. I'm sure theres a bzillion C like languages I've learned in between learning the languages that make me money. Sometimes I find myself writing bare bones stuff, usually on *nix platforms. It takes me twice as long to write the same routines in that type of minimal environment then without a full featured IDE. I write win32 C++ using the latest VS and even mix mode libraries where I've bridged unmanaged code to work with managed code - no com required. When I want high performance I will switch back to the bare bones approach but when I need to get a job done quickly I am very thankful for modem advancements in programming sciences. These Microsoft programmers might very well be the elite of the elite but for the rest of us not writing operating systems - we don't really care.

Interpretive dance? (4, Funny)

Rufty (37223) | more than 4 years ago | (#30258714)

Don't know about interpretive dance, but I'm guessing that the MFC was written in abstract pottery [kinsaleceramics.com] .

Ummm (0)

Anonymous Coward | more than 4 years ago | (#30258774)

Are these some of the guys responsible for the sorry state of Windows security?

In which case, why should I be listening to them?

Or do they just blame management for their design mistakes... like I usually do.

In other news... (1)

Improv (2467) | more than 4 years ago | (#30258812)

Researchers have found Italians that don't like Spaghetti!

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?