Gruff! Gruff! Back in *my* day, programming was hard!
-
I disagree, it really is easier for each generation, as programming languages are still a young field and the language developers are still improving and making things better for us.
Rubbish. Ultimately, programming boils down to three things*. That's it. No language can ever improve on those. True, IDEs can help use features through things like Intellisense, etc, but they do not replace the need to be able to effectively apply those techniques. My background is C and C++, but I don't feel the need to sneer at people who've just grown up learning C#. *For those that don't know, programs ultimately boil down to flow, iteration and decision.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
Grumpy old man time (even though I am early 30s still)...like on the SNL skit Brock! Brock! Brock! Back in my day we didn't have these sissy SSIS packages (programming for babies) and "models," "views," and "controllers," (childs play). We had new and delete and managing memory on the heap! And we LIKED it! I am a C and C++ guy originally and I only do all this modern, "easy peezy" crap o rama like LINQ, MVC, SSIS and C# where you're dragging little objects around and writing some event handlers because "real men programmers" (and "real women programmers") with "chest hair" just don't exist any more Like the Stan Rogers song "The White Collar Holler" says, "Whoa, boy, can'tcha code it? Program it right!" Seriously though, today's programmers have it SO easy.
Sincerely Yours, Brian Hart
"You young folks don't know how lucky you are. Why, when I was your age, a byte only had two bits -- and they were both ones! We had to do everything in Roman numerals!"
Yes, yes, programming was a bit hairier-chested back when (I'm 60 and have been programming since 1967.) Atop that, it hadn't developed quite a few of the specialties we have today. But the emergence of those specialties, which were themselves driven by end-user demand that we make computers actually do something useful and comprehensible, required that we become:
- Better programmers,
- More knowledgeable about a wider variety of things;
- Willing to put down one tool and pick up another when the job requires it.
Time was, I wrote microcode for special-purpose non-Von Neumann devices. At that time, I couldn't imagine that that aptitude and those skills might ever become obsolete. But the exploding power of conventional CISC and RISC microprocessors has largely obviated such designs, and the associated programming disciplines.
Time was, I wrote quite a lot of assembly language, for dedicated real-time systems and the devices they controlled. That, too, has become rare, once again owing to advances in processor power and the embedded intelligence of the devices under control.
Time was, I wrote nearly everything in C. You couldn't get any closer to the machine than C without becoming instruction-set-dependent, and I needed every CPU cycle I could squeeze out of the machines I had to program. Today? C++ is my preferred tool -- and a lot of my younger colleagues tell me I'm an old dinosaur for hanging onto it. They're probably right, at that.
Tempora mutantur, et nos mutamur in illis. (Yes, yes: Time was, I used to write a lot of Latin. But I have a special excuse for that...and you don't need to hear it.) At any rate, if there's less hair on our chests...and our code...than there once was, it's mainly a sign of the progress taking place around and beneath us. Now, if you'll excuse me, I have to saddle up my horse and trundle off to work. Don't take any wooden opcodes!
-
Gary R. Wheeler wrote:
... it's still possible to write a big ole' steaming pile if you're not careful.
Amen, Brother, I'd go so far as to say (based on having been a creator of piles) it's easier to write a steaming (or streaming) pile nowadays: I think evaluating whether it's easier to make the equivalent of smear-with-fingers-and-palms-elbows-or-nose kindergarten-finger-paintings-in-code is an interesting question to think on. And, absolutely agree with you that the "amenities" are a whole bunch better, although stuck in my head is the memory of seeing what was possible in SmallTalk on the Xerox Star, back in the early eighties (the source of the ideas Steve Jobs "borrowed" for the Lisa, and then Mac). Aside: Adele Goldberg, the primum mobile of SmallTalk development, later principle of ParcPlace, vehemently opposed the decision of Xerox executives to allow Jobs and friends to visit and see what Parc was doing with ethernet, laser-printers, mice, vector-based fonts, and the whole back-end (Mesa), and graphics display with "icons," etc. best, Bill
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." Bjarne Stroustrop circa 1990
BillWoodruff wrote:
I'd go so far as to say (based on having been a creator of piles) it's easier to write a steaming (or streaming) pile
Unfortunately, what used to be just steaming, now is also streaming! :~
-
Jason Hooper wrote:
not chasing down pointer bugs
I never write ponter bugs. 14 years in the Windows Kernel has taught me not to. :)
============================== Nothing to say.
Erudite_Eric wrote:
I never write ponter bugs
_________________^ Your pointer is missing an 'i' - I've found a bug! Are we supposed to believe this is your first, then? ;P
-
Erudite_Eric wrote:
I never write ponter bugs
_________________^ Your pointer is missing an 'i' - I've found a bug! Are we supposed to believe this is your first, then? ;P
-
Rubbish. Ultimately, programming boils down to three things*. That's it. No language can ever improve on those. True, IDEs can help use features through things like Intellisense, etc, but they do not replace the need to be able to effectively apply those techniques. My background is C and C++, but I don't feel the need to sneer at people who've just grown up learning C#. *For those that don't know, programs ultimately boil down to flow, iteration and decision.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
Pete O'Hanlon wrote:
Rubbish. Ultimately, programming boils down to three things*.
...
*For those that don't know, programs ultimately boil down to flow, iteration and decision.No, programming is like the three main causes of fire: Men, Women and Children. Programming is creating something to help people. If you're not doing that, then what are you doing? How it is encoded is no more important that whether you speak English, Spanish, sign language, or bird calls. The important thing is to get the message from the speaker to the hearer (or, in computing, from your mind into something that the computer can do). Of course newer languages take away the drudgery of mundane housekeeping; but programming is not about being experts in housekeeping, it is about being good at transfering ideas. [Most of the flame wars are about the definition of 'good' - that is out of scope for this response] In the same way that any good carpenter should be skilled in the use of the plane and the lathe, but spends most of his / her time working with pre-manufactured components; so we must understand 'flow, iteration and decision' even though we are much more efficient when using libraries, frameworks, design patterns.
-
Grumpy old man time (even though I am early 30s still)...like on the SNL skit Brock! Brock! Brock! Back in my day we didn't have these sissy SSIS packages (programming for babies) and "models," "views," and "controllers," (childs play). We had new and delete and managing memory on the heap! And we LIKED it! I am a C and C++ guy originally and I only do all this modern, "easy peezy" crap o rama like LINQ, MVC, SSIS and C# where you're dragging little objects around and writing some event handlers because "real men programmers" (and "real women programmers") with "chest hair" just don't exist any more Like the Stan Rogers song "The White Collar Holler" says, "Whoa, boy, can'tcha code it? Program it right!" Seriously though, today's programmers have it SO easy.
Sincerely Yours, Brian Hart
I somewhat disagree with this analysis... Today we have so many "fluff" tools that in my view, it has made programming less straight-forward and more difficult at the same time. The biggest case in point is the proliferation of ORMs against RDBMSs. It used to be, write a query, return a result-set. Now you write a query using the arcane syntax of LINQ (though ENTITY-SQL is available and more straight-forward) simply to access a huge ORM layer, which is also more inefficient than just using a standard DAL to access data. To be fair, I use object array-lists in my applications but they are generated from my own code from a returned data-reader or dataset that is created by my standard DAL. This is a habit learned in the Classic VB days where you transport the lightest amount of data possible. Back then we used arrays instead of array-lists but since array-lists are more flexible I use them now. Still, there is no ORM layer to reduce the overall efficiency of my data access. Many new development tools today add similar levels of inefficiency and increased complexity to do basically the same things we have been doing for years. ASP.NET MVC is another case in point when compared to regular ASP.NET. The promotion of MVC is based upon the "purist" point of view since there is little evidence to support large performance gains between the two. However, today we often hear from younger technicians that MVC is the proper way to program against the Web. Nonsense. There is no proper way to program against the web! It is 1960/1970 technology that has never changed and as a result still uses the same protocols. You can't program around this so no matter what environment you use there are going to be inefficiencies and difficulties. Who cares if Microsoft created ASP.NET to hide certain aspects of web programming. Its hard enough but now we get the added difficulties because techs who have no long term experience to compare new tools with believe that MVC is the way to go. Don't get me wrong, I happen to enjoy programming with MVC very much but I still enjoy regular ASP.NET as much. Sorry but back in the day for me (and I have been in the field 35++ years) things were much less complicated. Younger techs today are simply creating their own difficulties for the sake of new technologies that really don't change much in scheme of things...
Steve Naidamast Black Falcon Software, Inc. blackfalconsoftware@ix.netcom.com
-
Grumpy old man time (even though I am early 30s still)...like on the SNL skit Brock! Brock! Brock! Back in my day we didn't have these sissy SSIS packages (programming for babies) and "models," "views," and "controllers," (childs play). We had new and delete and managing memory on the heap! And we LIKED it! I am a C and C++ guy originally and I only do all this modern, "easy peezy" crap o rama like LINQ, MVC, SSIS and C# where you're dragging little objects around and writing some event handlers because "real men programmers" (and "real women programmers") with "chest hair" just don't exist any more Like the Stan Rogers song "The White Collar Holler" says, "Whoa, boy, can'tcha code it? Program it right!" Seriously though, today's programmers have it SO easy.
Sincerely Yours, Brian Hart
You and your fancy-shmancy compilers and debuggers. Try maintaining a few million lines of real-mode assembler code for 15 years.
-
Grumpy old man time (even though I am early 30s still)...like on the SNL skit Brock! Brock! Brock! Back in my day we didn't have these sissy SSIS packages (programming for babies) and "models," "views," and "controllers," (childs play). We had new and delete and managing memory on the heap! And we LIKED it! I am a C and C++ guy originally and I only do all this modern, "easy peezy" crap o rama like LINQ, MVC, SSIS and C# where you're dragging little objects around and writing some event handlers because "real men programmers" (and "real women programmers") with "chest hair" just don't exist any more Like the Stan Rogers song "The White Collar Holler" says, "Whoa, boy, can'tcha code it? Program it right!" Seriously though, today's programmers have it SO easy.
Sincerely Yours, Brian Hart
Different quibble. The song was written by Nigel Russell not Stan Rogers. Story: The first time I heard the song (by Stan) I was in the Groaning Board wearing a suit and tie having just come from a programming contract gig at Xerox.
-
Rubbish. Ultimately, programming boils down to three things*. That's it. No language can ever improve on those. True, IDEs can help use features through things like Intellisense, etc, but they do not replace the need to be able to effectively apply those techniques. My background is C and C++, but I don't feel the need to sneer at people who've just grown up learning C#. *For those that don't know, programs ultimately boil down to flow, iteration and decision.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
Couldn't agree more, it's all elitist crap. And I HAVE programmed on punch cards (albeit at an early age) fwiw.
-
Grumpy old man time (even though I am early 30s still)...like on the SNL skit Brock! Brock! Brock! Back in my day we didn't have these sissy SSIS packages (programming for babies) and "models," "views," and "controllers," (childs play). We had new and delete and managing memory on the heap! And we LIKED it! I am a C and C++ guy originally and I only do all this modern, "easy peezy" crap o rama like LINQ, MVC, SSIS and C# where you're dragging little objects around and writing some event handlers because "real men programmers" (and "real women programmers") with "chest hair" just don't exist any more Like the Stan Rogers song "The White Collar Holler" says, "Whoa, boy, can'tcha code it? Program it right!" Seriously though, today's programmers have it SO easy.
Sincerely Yours, Brian Hart
Not to mention the IDE's they have nowadays. I had a professor that required us to telnet into the unix server to write our java programs on the VI editor. I eventually got fed up and used a real programming environment, notepad(at least it supported a mouse and the backspace key), then ftp'd.
-
Pete O'Hanlon wrote:
Rubbish. Ultimately, programming boils down to three things*.
...
*For those that don't know, programs ultimately boil down to flow, iteration and decision.No, programming is like the three main causes of fire: Men, Women and Children. Programming is creating something to help people. If you're not doing that, then what are you doing? How it is encoded is no more important that whether you speak English, Spanish, sign language, or bird calls. The important thing is to get the message from the speaker to the hearer (or, in computing, from your mind into something that the computer can do). Of course newer languages take away the drudgery of mundane housekeeping; but programming is not about being experts in housekeeping, it is about being good at transfering ideas. [Most of the flame wars are about the definition of 'good' - that is out of scope for this response] In the same way that any good carpenter should be skilled in the use of the plane and the lathe, but spends most of his / her time working with pre-manufactured components; so we must understand 'flow, iteration and decision' even though we are much more efficient when using libraries, frameworks, design patterns.
Pete and Jsc42, I would like to add an additional item to the "three things"....Testing and Data Verification. I have run across so many developers (web, mobile, application, etc.) that are ONLY about getting it to work. They run a couple of iterations and a couple of paths through the application and call it done. They throw the changes into production and NEVER follow up the next minute, hour, day, week or month. In the mean time, the crafty users find numerous ways around the restrictions, validations and unhandled errors (On Error Resume Next or Try/Catch with nothing in the catch anyone?) and cause all kinds of data problems. The original developer comes back with the response of, "Well it worked for me"..Boooo Hisssss. Respect the user experience and data...It is the ONLY thing that matters in our business. Been at this for over twenty years, and I still love my job. Love learning the new stuff and remember the old stuff with fond memories. Tony
-
Grumpy old man time (even though I am early 30s still)...like on the SNL skit Brock! Brock! Brock! Back in my day we didn't have these sissy SSIS packages (programming for babies) and "models," "views," and "controllers," (childs play). We had new and delete and managing memory on the heap! And we LIKED it! I am a C and C++ guy originally and I only do all this modern, "easy peezy" crap o rama like LINQ, MVC, SSIS and C# where you're dragging little objects around and writing some event handlers because "real men programmers" (and "real women programmers") with "chest hair" just don't exist any more Like the Stan Rogers song "The White Collar Holler" says, "Whoa, boy, can'tcha code it? Program it right!" Seriously though, today's programmers have it SO easy.
Sincerely Yours, Brian Hart
I started programming mid-2010, so I've never used a pointer. My life is so easy, NOT! Even now I can write code that looks like If If If If If If Else Else Else If Else Then Else etc... You get the point. I could write the same code ten times with a slight difference every time. I could have a windows form, call the database, and get it all over with. Or I could neatly abstract away all the If's and Else's. I could write code only once and have it behave slightly different by passing variables to Methods or by using Design Patterns. And I could neatly divide my code in n-tier architecture. Writing code is one thing, understanding it another. And no matter what you code, be it assembler, C, C++ or C#, you have to know what you're doing. I know some people that have always coded procedural in those 'hard old days'. They very much disagree with you that stuff is easier nowadays :) That said I am glad I don't have to worry about memory leaks in .NET ;)
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
} -
I started programming mid-2010, so I've never used a pointer. My life is so easy, NOT! Even now I can write code that looks like If If If If If If Else Else Else If Else Then Else etc... You get the point. I could write the same code ten times with a slight difference every time. I could have a windows form, call the database, and get it all over with. Or I could neatly abstract away all the If's and Else's. I could write code only once and have it behave slightly different by passing variables to Methods or by using Design Patterns. And I could neatly divide my code in n-tier architecture. Writing code is one thing, understanding it another. And no matter what you code, be it assembler, C, C++ or C#, you have to know what you're doing. I know some people that have always coded procedural in those 'hard old days'. They very much disagree with you that stuff is easier nowadays :) That said I am glad I don't have to worry about memory leaks in .NET ;)
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}Hate to break it to you, but it is still relatively easy to leak memory in. NET. Just leave some event handlers referenced to find out how easy it is.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
Hate to break it to you, but it is still relatively easy to leak memory in. NET. Just leave some event handlers referenced to find out how easy it is.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
You're right, we have it REALLY hard nowadays :laugh: Personally I've never experienced this problem. I can see why it could be though. But still, my guess is that memory management is a lot easier in .NET than in C or C++ :)
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
} -
Brian C Hart wrote:
Seriously though, today's programmers have it SO easy.
True. On the other hand, it frees my brain to work on solving more interesting problems than memory management, memory leaks, architecture issues that I shouldn't have to deal with in my code, etc. Though Anders Molin (occasional denizen of CP) would agree with you! Marc
I agree. Back when we first moved from programming in MS-DOS to Windows, we spent 80% of our time writing our code for the windows user interface and 20% for the application. Prior to that (back in the MS-DOS days) 90% of our time was writing code for the application and 10% was for the user interface. Programming .NET Forms was much easier than MFC, and even easier than WPF. WPF, as nice as it is for a user interface is still painful, unless you want to (enthusiastically) pursue xaml. Some 3rd party libraries make .NET Forms look as good as WPF. Yes, we do have it easier. At least we're not programming in assembly, punch cards, or toggle switches. Now we can do bigger applications and spend more time on our design than worrying about the minute details like forgotten pointers or popped registers. Just wait for when computers can program themselves to do what we want. Then, we may be out of a job (probably long after I retire).
-
You and your fancy-shmancy compilers and debuggers. Try maintaining a few million lines of real-mode assembler code for 15 years.
I conur with the sentiments of Prof Maurice Wilkes who, allegedly, said: Compilers? They only do what you do in your head. (I cannot find any reference for this quote; but what I did find was that he died 29 Nov last year aged 97 - another of the 'greats' of computing has gone).
-
I agree. Back when we first moved from programming in MS-DOS to Windows, we spent 80% of our time writing our code for the windows user interface and 20% for the application. Prior to that (back in the MS-DOS days) 90% of our time was writing code for the application and 10% was for the user interface. Programming .NET Forms was much easier than MFC, and even easier than WPF. WPF, as nice as it is for a user interface is still painful, unless you want to (enthusiastically) pursue xaml. Some 3rd party libraries make .NET Forms look as good as WPF. Yes, we do have it easier. At least we're not programming in assembly, punch cards, or toggle switches. Now we can do bigger applications and spend more time on our design than worrying about the minute details like forgotten pointers or popped registers. Just wait for when computers can program themselves to do what we want. Then, we may be out of a job (probably long after I retire).
James Lonero wrote:
Just wait for when computers can program themselves to do what we want. Then, we may be out of a job.
I keep working on that idea. I figure, fixing all the horrific bugs would be lifelong job security. :) Marc
-
In a way, Yes. But with all this "child play" as you call them, also come lots of frameworks and stuff. Back then while harder you could basically say that if you know the language(C) you're a programmer. Now you have to know tens of frameworks and stuff. And I hate that pretty much. Not to mention the rate/speed at wich they are changing. Todays "big thing" is tomorrows old news. :)
All the best, Dan
MDL=>Moshu wrote:
Back then while harder you could basically say that if you know the language(C) you're a programmer.
Wrong. You still had to know the library - and know it well. I got to learn about Intellisense/autocompletion only in the late 90s. Nowadays, Eclipse's CDT (I don't know about VS) even turns a . into -> when you place it after a raw pointer. OTOH, I don't think the rate of change is much higher nowadays, not regarding the important stuff. You still have to know your algorithms, O(n) analysis and so on. OYAH (on yet another hand), I don't think my brain has grown since the 80s (when I had my first contacts to programming). So even if I have supposedly better tools and libraries today, I'm supposed to do more and faster. So the effort is similar.
-
You're right, we have it REALLY hard nowadays :laugh: Personally I've never experienced this problem. I can see why it could be though. But still, my guess is that memory management is a lot easier in .NET than in C or C++ :)
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}Don't know who lowballed the vote, but I've 5ed to compensate.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility