Programming in the 60s vs today...
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
Don't try to learn anything new until you need to. For instance, if knowing A, B, and C gets the job done where you're at now, then become proficient in A, B, and C. When you're considering trying to find a new job (or have to because you got fired/laid off), look at what's currently in use, and learn enough to at least be familiar with the general territory, and when you do get a job do the new tech, become proficient in it. Little secret - all programming languages are essentially the same. The primary stuff you have to learn is the topology of the framework(s)-de-jeurs. THAT is where the steep learning curves exist. I've been doing this crap for 40 years, and that's the way I've been doing it the entire time.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013 -
Don't try to learn anything new until you need to. For instance, if knowing A, B, and C gets the job done where you're at now, then become proficient in A, B, and C. When you're considering trying to find a new job (or have to because you got fired/laid off), look at what's currently in use, and learn enough to at least be familiar with the general territory, and when you do get a job do the new tech, become proficient in it. Little secret - all programming languages are essentially the same. The primary stuff you have to learn is the topology of the framework(s)-de-jeurs. THAT is where the steep learning curves exist. I've been doing this crap for 40 years, and that's the way I've been doing it the entire time.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013I'd agree with that - about the time you figure out the framework, it's just the same thing with different sauce. I pondered Xaml for a while, then I learned it was repackaged UIL from days past...
Charlie Gilley <italic>Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
-
silverlight was mainstream? perhaps within microsoft public statements, not so much anywhere else. Sure, like their phone there was an audience, but it remained at low percentage.
Signature ready for installation. Please Reboot now.
All right mature then, there were some pretty big companies heavily committed to it and I am completely MS centric :-O
Lopatir wrote:
like their phone
Whew I got lucky there, dodged it completely...
Never underestimate the power of human stupidity RAH
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
I was a little too young to learn programming in the 60s, but had my university education around 1980. That was an age where a lot of exciting things happened in the language world - every man had his own language. I can't count the languages I have been programming in. So when people asked me how many langugages I were familiar with, I said: Maybe three or four. First comes the algorithmic. That covers Fortran, Basic, Algol and Pascal including variants like Concurrent Pascal. Then comeplain C and C++ and Objective C, and lesser known languages like CHILL and the vendor-specific Planc, and later I have been using Java and Javascript ... and let's throw in COBOL, for good measure. Python, of course, and PHP. Those are all samples of Language One - the way of thinking is very much the same in all of these, and syntax differnces are not that significant. Second comes the "workspace" model which is like a sandpit where you throw in and take out functions and objects over time. Smalltalk comes in this class; my main experience is with APL, which is also quite different with its extremely array based data structures. Yet, the most essnetial difference from the algorithic group is the workspace model. The third language is the predicate languages, of which I have only used three variants: SQL, Prolog and SNOBOL. You could say that SNOBOL is a semi-algorithmic language; it has flow control and at the top level is rather sequential, but the more familiar you are with the language, the more you leave to predicate logic. I never became friendly with XSLT, and am happy that I managed to sneak out of it :-) regex I have to do every now and then. Fourth language: Essentially Lisp, which I have only used for programming Emacs. I can see that some people like it, but it doesn't give you much help in offloading the conceptual model into the saved file; essentially you must free up space inside your brain to hold the model. For a couple of projects, we peeked at functional programming, but I wouldn't count that as number five. We just studied the syntax of Erlang (and peeked at others from a distance), but I never really tried it in pratice. I would rather like to add as number five: Data modelling - not a complete language by itself, as it usually won't provide definition of operations, only the interface to them. I think this language (group) is the most underrated one! A good data model, whether you use ER or ASN.1 or an XML schema, is essential to understand the problem domain. You may say that if you use
-
Rhetorical question: how the h*** do you do OOP in plc code? :omg:
Charlie Gilley <italic>Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
:laugh: The most normal question is: OOP? What is that? We program using lines and boxes which is the best for everything, even if we can't move the code between PLC brands and/or series...
www.robotecnik.com[^] - robots, CNC and PLC programming
-
Joan M wrote:
OOP
Ooooooooh... shiny! Can I use code wider than 80 chars? Huh? Huh? Can I? Can I?
Jeremy Falcon
Jeremy Falcon wrote:
Can I use code wider than 80 72 chars?
Gotta have a sequence number, buddy. It has been known for some ijit Junior Programmer to empty an entire tray of cards onto the floor. :-O
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
-
True. Just to play devil's advocate though, I've seen programmers be guilty of this too. I mean yeah, also execs. It doesn't help when the programmers give the execs the buzzword jockey stuff either. I think it's just a people thing, the less they know anything about tech the more they have to rely on buzzwords as a crutch, regardless of their role in it.
Jeremy Falcon
Sometimes you're caught in a situation where you have to play the political game though. You need a project that's going to help everyone but it's a hard sell to the higher ups who never want to open the purse strings. So to get their buy in sometimes that takes that new shiny object that they've heard about on tv to get it through.
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
As stated, it's been like this for decades. However, the tools that exist and people want are far more greater in number that it was even 10 or 20 years ago. As a dev approaching 15+ years of work and 20+ years programming experience, you basically have two semi-smart choices to make as you grow up in this field. Position your self to grow from dev to middle management and beyond. Not everyone is managerial material, or wants to be so this isn't always the best option. The other smart path is for the first 5-10 years of your career, look for the BIG tech tools that every big company uses for 5-10 years and become an expert amongst experts. After that tech is dead for 10+ years, dig up all of your old resources, load up some old VMs and re-familiarize yourself with "legacy" tech. There are a lot of major corporations that are not in IT that still have old COBOL/RPG mainframes. There are also a ton of VB6/very-old Microsoft Access databases that are in use in even BIG companies. These companies often get to the point where this stuff breaks or they realize they have to throw a TON of money to upgrade their systems. Software specs tend to not exist within these companies (or were long lost) so they need legacy gurus to come in, dissect the existing system(s) and then fix it or spec-out a new system from old code. This is "consultation" work and can pay very well, if you are familiar with the right tech. This isn's "sexy", but by golly if you get bored with the "rat" race of being perpetually obsolete, let your most obsolete expertise start to work for you. I'm not their yet, but I'm probably going to start pushing "WinForms" development around 2021. I plan to work hard at staying on top of what is relevant today but in 2021 I'll be 40 and that's a good age to start pulling out the old familiar tech that none of the "new kids", fresh out of school, have even heard of or will laugh at when they still see it in use. Suckers... it's the desperate corps that pay the best, who are scrambling to find the grey-beard experts.
-
Some of my coworkers are in their 60s and can debug any problem like it's nobody's business, because they learned low-level skills that have followed them throughout their entire careers. They have inner-working understanding the n00bs can only dream of. These days there's too many people in this field who'd have to resort to calling their IT support department because you disconnected their keyboard while they were away at lunch time. The framework, library, or language of the day they were experts at 3 years ago is useless today, and their skillset simply can't be adapted to new environments/situations. Those who are worth keeping around in the long term are few and far in-between--that's why there's so many job-hoppers.
Debugging and testing are the most valuable skills, and they're seldom taught.
-
To digress a little.... Time was an intelligent and educated person could know just about everything there was to know. Literally. And from that grew the stereotype of the lone scientist in his lab coming up with some new invention to change the world... for a while, such people could exist, but not any longer. No one can know everything, not even within one subject area - the most anyone can be is a master at one or two (r more, maybe) disciplines within a subject, there is that much knowledge about. So science now, and in the future, is and will be a collaborative affair. The big advances now - take nuclear fusion (if it ever happens), quantum computing, or a myriad of medical advances - these aren't and won't be made by our stereotypical white-coated lone scientist in a lab, but by the collaborative efforts of different research groups around the world. We all have to stand now on the giant collective shoulder of those around us in order to see anything.
Makes me think of James Burke's Connections series. The path to any discovery is usually weird, and builds on what came before.
-
You had to, didn't you, he's gonna choose javascript.
Wrong is evil and must be defeated. - Jeff Ello
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
Yup. I believe the latest buzzword today is "full stack" developer. Sorry, I don't buy that designation AT ALL. You could re-brand that "jack of all trades, master of none". I'm sorry, but the designation is pure B.S. I've been developing code for 40 years and I think I've developed some good proficiency in that time and know a few good technologies to use in my development. My code gets answers and it runs FAST. (I've had more than one employer ask me in an incredulous tone "why does your stuff run so fast"?). Er, maybe it's because I don't haul in a couple of gigs of library code to run my executables... I don't even apply for positions that are looking for "full stack" developers because, IMHO, they are completely disillusioned as to what software development is really about. I believe that would be ... solving problems? Full stack ... seriously?
If you think hiring a professional is expensive, wait until you hire an amateur! - Red Adair
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
Back in the day, the progression was: Jr. Programmer Programmer Programmer/Analyst Programmer/Analyst II Sr. Programmer/Analyst Sr. Analyst (Or Business Analyst) I always preferred adding Analyst. First you learn the syntax, and the environment. As a Jr. Programmer, you often took someones scribbles of code on punch cards, and punched them. The person reviewed them. One programmer could keep a few Jr. Programmers busy. (things changed). Usually it was teams of both... After the language/syntax and environment was learned. You moved up. The real interplay is in taking business needs and getting to computer solutions. = My favorite job interview was where I was competing with someone with 5 years of Clipper for a Clipper job. I had SEEN clipper code, and did DBase code a little bit. But I had great analytical skills. The guy interviewing me for a part-time position was convinced he would hire the "Pro", and not me, but already had my interview scheduled. I simply explained that it is the Analysis where all the failures being. The syntax of the language is easy enough to learn. If you are solving the right problem. I asked him to think about the "fixes" he had to have the previous guy make. What percentage were: - Did not understand the goal properly - Logic Error (Did not express the goal properly) - Lack of testing - Lack of User Sign off - User Error/User Confusion - Bad Syntax/Failure to use the programming language correctly? I explained to him, that if he hired me, I would drive the first few items to ZERO occurrences, and that my biggest fear was programming myself out of a job, because the current guy was constantly fixing his own mistakes. He laughed. He thought... He Hired... One year later, he apologized that he ran out of work for me to do. Wrote me a 2 page letter of recommendation, and gave me a minimum number of hours each week to do whatever I wanted. I want to hire creative problem solvers who know how to solve problems and express them in code. Then the importance of the language is reduced. The rework is reduced. Nobody wants to help that person by giving them a little time to learn a technology they may need. That's crazy. Good problem solvers are hard to find. Great programmer/analysts are hard to find. So old companies would make them!
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
Heck, even into the early '90s you could "get by" with just a few good skills. I think retraining hell is companies' revenge for having to pay us so well. I have a Despair Inc coffee mug that says "Just because you're necessary, doesn't mean you're important." That sums it up nicely.
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
Jeremy Falcon wrote:
Who cares if it's a 90% copy of Y... Z is so shin
Unfortunately the reality is that no one can figure out if new idioms are worthwhile until a lot of people use them. In the 60 there were no options. Not to mention that programmers had to wear suits. Not to mention you can still get a job programming Cobol if you want to.
-
Jeremy Falcon wrote:
you learn X, Y, and Z.
I wasn't there either, but if I understand correctly, you didn't learn all three. You picked your career path and then learned COBOL or FORTRAN or ASSEMBLY. Or, you learned Pascal and BASIC and hoped to get a job teaching.
Or Algol. There's a good chance if you were a programmer in the 60s you'd be exposed to Algol.
-
Not that I was alive in the 60s, but when it came to learning technology in the olden days it was more like this... you learn X, Y, and Z. Master them. You're a programmer. These days it's more like learn A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, and Y. You have to know them all. You're *supposed* to master them all. And you can use all of them for decades, but as soon as you don't know Z... you're a n00b! How dare you not know something. We want someone who's used Z forget A through Y... Z baby all the way! What... you want to spend time with family these days? Freak! Go home and study until you die... get that Z too. Although as soon as you do we're switching to AA. Experienced people know that to master everything these days is impossible. But gee golly that Z is so shiny. Who cares if it's a 90% copy of Y... Z is so shiny. Welcome to the future. :~
Jeremy Falcon
I agree with you that there is a lot more to know now than in the 60s. More importantly, I think, things change a lot faster now. But to be fair, there's a lot they had to know back then that most of us don't have to think about at all anymore. In particular, we don't usually need to think nearly as carefully about hardware issues (memory constraints, timing issues) or lower-level software issues (how to write a quicksort algorithm or a garbage collector). We don't need to cram 8 different boolean values into a single byte that we xor to read the value from. We don't need to write code that modifies itself or overlays itself to save memory. And we don't have to wait fifteen minutes or more for an edit/compile/run cycle.
-
Some of my coworkers are in their 60s and can debug any problem like it's nobody's business, because they learned low-level skills that have followed them throughout their entire careers. They have inner-working understanding the n00bs can only dream of. These days there's too many people in this field who'd have to resort to calling their IT support department because you disconnected their keyboard while they were away at lunch time. The framework, library, or language of the day they were experts at 3 years ago is useless today, and their skillset simply can't be adapted to new environments/situations. Those who are worth keeping around in the long term are few and far in-between--that's why there's so many job-hoppers.
dandy72 wrote:
These days there's too many people in this field who'd have to resort to calling their IT support department because you disconnected their keyboard while they were away at lunch time.
With a vast array of desirable business technology needs people specialize. Just as long ago the person that built a log cabin could dig the outhouse latrine but today I do not expect the cable guy to fix my toilet.