Are programmers changing?

HotShoe

Well-Known Member
Licensed User
Longtime User
Programming seems to have changed over the years. Back when I started in the dark ages of the mid 1970's, learning a computer language was largely a do-it-yourself thing. Outside of colleges, most programming was done by guys that had the curiosity to find out how things worked, and why. For the most part, these guys were called hackers because of the trial and error way we did things.

Now, it seems the curiosity is gone and it's all about cut and pasting code to put something together without ever understanding how it works. So a program becomes a hodge-podge of routines taken from a variety of sources. There's nothing really wrong with that approach, hell we did the same thing (sharing code) back in the day through magazines like Byte and hacker groups. The difference seems to be the lack of curiosity now. Not knowing or caring how what is pasted actually works, and why.

The concept of RTFM (read the f***ing manual) and finding answers on ones own, or just trying things to see what works and then figuring out why, seems to be getting more and more rare. Granted, you have to learn syntax, the built-in methods, objects, and utilities available in a language. and a forum isn't a great owners manual. Having said that, the beginners guide for B4A is a great source and is mostly ignored by new and old programmers.

Now I'm not trying to beat up on new programmers, but old farts like myself tend to like to teach others, but only if they are willing to learn. Just giving code away is not teaching (or learning). Is this just me getting old or has the "I want it now" attitude become normal in the new breed, and how is that going to affect the future of programming?

Be nice in your responses, not everyone who wants to learn to program is like this, and I am certainly not immune to asking for help. Sometimes I ask some really stupid questions that are so obvious it's embarrassing.

--- Jem
 

thedesolatesoul

Expert
Licensed User
Longtime User
Now I'm not trying to beat up on new programmers, but old farts like myself tend to like to teach others, but only if they are willing to learn. Just giving code away is not teaching (or learning). Is this just me getting old or has the "I want it now" attitude become normal in the new breed, and how is that going to affect the future of programming?
I agree with you.

This 'I want it now' attitude was built mainly due to forms like this forum (for e.g. stackoverflow). They start up as proper hobbyist and good programmers writing detailed questions with detailed answers. Eventually they become a hotspot for quick answers. Then the wannabe programmers join in, they find these amazing resources, copy pasta coding, but since they never understand things properly they cannot articulate questions or give answers to others. They feel a sense of entitlement to free code, demand an answer in 24 hours. This in turn also breeds an elitist attitude in the better programmers who act as moderators and keep the wannabes in check.

The problem however is the attitude of entitlement. I believe I have suffered from both a noob and elitist attitude at times, but never entitlement.

The future of programming is the same, there will be good programmers, not so good programmers, and then a sea of crappy programmers. As you said a real programmers attitude is the attitude of learning.
 

WAZUMBi

Well-Known Member
Licensed User
Longtime User
In the future there will be no programmers. We will simply speak to a robot and describe what we want and 5 seconds later our program will be coded, debugged, and wrapped for production...
 

udg

Expert
Licensed User
Longtime User
Jem, I wholeheartedly agree.
Times changed and things now go at blazingly fast pace, so as we have fast-foods we also have fast-code.. neither one is good, accurate, high quality but it's what the society is asking nowadays.

BYTE, oh Jem you named what I used to call "the bible". I learned English translating those articles!
Month after month waiting for Steve Ciarcia's next presentation. Eager to learn ore, to discover the secrets of what was going on behind the scenes..

Well, ok, I'm growing older by the moment. Time to wake up my childish nature!

Umberto
 
Last edited:

eps

Expert
Licensed User
Longtime User
In the future there will be no programmers. We will simply speak to a robot and describe what we want and 5 seconds later our program will be coded, debugged, and wrapped for production...

Maybe, but someone will have to program the robot in the first place... ;)
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
I agree. Learning is the key to being a good programmer. While sites such as stackoverflow can be very helpful, you must also understand the more basic concepts.

One of the great things with developing tools such as B4A / J / i is that I'm "forced" to learn new stuff all the time. I think that I read more than 5 books about Objective C / iOS in the last couple of months.
 

picenainformatica

Active Member
Licensed User
Longtime User
A programming language is a language. I think that the analysis of problems is the main question. Many peoples want to jump over this step and run to finish.
 
Last edited:

Beja

Expert
Licensed User
Longtime User
You are right Jem,
We discussed this long ago when Microsoft abandoned Assembler, then DOS and Quick Basic and moved slowly to OOP. Some thought this is a conspiracy to shield programmers from the real knowledge and only consume what Microsoft wants them to consume.. after Visual Basic and Visual everything, we, who never asked any tech questions before, started to ask for help with basic things.. at the same time, Microsoft, Delphi and others kept doing the real work and software monopoly has started. The big guys perfectly positioned themselves between us and the microprocessor.. So Microsoft has succeeded in creating construction workers out of civil engineers.
But I think things are changing now..
 

corwin42

Expert
Licensed User
Longtime User
I agree, too.

The worst I have seen for now is in the Android ROM creating scene. Many people take the AOSP source from Google, learn a bit about GitHub and then they start to apply patches to their repository to add new features to their ROMs. Without the idea what they are doing there and without the simplest background of C/C++ or Java programming. Git/GitHub is doing all the magic with merging the code.
Then they release their ROMs and if some bugs pop up they have no idea how to fix them and so they start annoying the real programmers with their begging to fix the bugs in their ROMs.
 

sorex

Expert
Licensed User
Longtime User
I agree with this aswell.

That was the main reason for not releasing that snake source a few weeks ago.

If I did a few new snake games would've appeared on the store from people who still don't have a clue what's going on inthere when they just replaced graphics files.

Coding should still be...
analyzing what is supposed to happen
how it should/could be written
and figuring out ways to bypass stuff that doesn't apply the theory of the previous step :)

copy pasting doesn't teach you anything and we've seen it several times on the forum or chat that some people are still able to mess up a working example just because they don't know what they're are doing.

everyone needs to learn, so do I. but the hard way (figuring it out yourself) is still the best one as you will remember it for later problems/projects.
 

MikeH

Well-Known Member
Licensed User
Longtime User
I think part of the problem is that programming languages have become so much easier and more accessible nowadays, coupled with the idea that you can make a vast fortune by quickly making an app* that it encourages people that are not really of the programming mindset, to "have a go". Mix that with today's general culture of wanting it all and wanting it now and this is the result.

But it`s not so simple. Just as it`s not so simple to don a helmet and leathers and win a few races or pick up a trowel and become a competent bricklayer. There`s still a world of knowledge to acquire first which the wannabe`s are quick to overlook.

Not everyone can be a coder/programmer just as not everyone can be a chef, teacher, policeman, racing driver, whatever. First of all the person needs the ability to learn, to ask the right questions and to understand the answers but that takes time and patience. Without that, young Charlie Quick-Fix resorts to copy/paste, gets frustrated when it doesn`t work and eventually heads off to find something else he thinks will make his five minute fortune.

*http://www.zdnet.com/so-you-have-an-app-idea-and-want-to-make-a-bajillion-bucks-7000032535/ - let`s get real.
 

sorex

Expert
Licensed User
Longtime User
everyone has the right to dream but when ages are passing by you become more realistic I guess :)
 

KitCarlson

Active Member
Licensed User
Longtime User
By starting in the early 70's it was necessary to build from scratch. Now the compilers have more features, so the new programmers often do not get the essential low level experience. It has become a virtual world.

My success has been much due to a virtual play ground in my mind. I do my best work there, not on paper, not on the computer. It is possible to see and test, make changes and retest .... To make that work, datasheets and other information provides the seeds for thought.

When I first took employment it was about working on paper, and the confines of tables, to pull the answer from. I tried that and what a mess of a desk I could make. I got out of that rut in a hurry. Now days the shift is, working on a PC. The mindset is everything comes out of that box. I still think the best place to work, is in the mind.

There are advantages, you can do it almost anywhere, without anything. We are not taught well, to use our minds. No day dreaming in school, and the lie everything you need, can be found on the internet...
 

picenainformatica

Active Member
Licensed User
Longtime User
KitCarlson said:
My success has been much due to a virtual play ground in my mind. I do my best work there, not on paper, not on the computer

Take a look to my signature.:oops:
 
Last edited:

Dman

Active Member
Licensed User
Longtime User
On the other side of the fence.......

Some of us non-programming types really appreciate you "older" (not necessarily an age thing) guys.This site has been and continues to be a great help to us that want to learn. The biggest problem I faced when starting (and still do) is knowing what to ask for or look up. Honestly I have no idea what one calls some of the stuff I need. I try to study and comprehend everything I read but sometimes without looking at sample code, I am lost. I am more of a trial and error kind of guy. When I get some code though, I personally like to study it until I have an idea of why it does what it does.

The problem is at my age, some of the stuff gets lost in this feeble mind faster than it got there. :)

I just wanted you all to know that you are appreciated. I have learned something from pretty much all of you guys.
 

HotShoe

Well-Known Member
Licensed User
Longtime User
I employ 5 programmers. They range from age 24 to age 38. Me? I'm 56. In my younger days I was the best there was (I thought so at least). I hired each one of those guys because they know more than I do, they are better than I am., faster than I am, and have different perspectives than I do. I didn't get them by running an add in the help wanted section or on a jobs webs site. I got them by stealing them from the companies they worked for.

Like you Dman, they had the desire to learn. The only difference is that they were ahead of you (for now) in that curve. You have the attitude that it takes to succeed as do many many others on this site. As I said in the original post, this is not about new programmers so much as it is about the attitudes and approach that some have. I do not, and did not intend this to sound like a blanket statement about folks that want to start programming, or to learn a new language like B4A.

The key to programming in my view is to know the operating system(s) that you are writing for, and to understand how programs flow. Learning to "think like a machine" so that you can follow that program flow is very important. From there, it's all syntax and learning method/procedure/function calls for the language you are studying. This thread was not aimed at any particular people, but a particular attitude and approach to programming.

I learn a lot by teaching and helping others. It expands my perspectives and forces me to think in different ways, but I am a better administrator now days than a programmer I think.

--- Jem
 

Informatix

Expert
Licensed User
Longtime User
By looking at some forums, like the B4A forums, there's probably a bias induced by the forum population. It is obvious, for example, that the global programming skill in this forum is lower than on some other forums because B4A is aimed at a wider range of programmers.
In my job and in open source projects, I worked with many dozens of different programmers and, for me, there's a clear difference between the old guys that learned things by themselves when ASM and C were the most used languages and the new guys that learned everything at school. For the first ones, curiosity and depth of knowledge are greater indeed, but that does not mean they produce a better work than the second. My job during a few years was to rewrite the code of existing projects (to improve the quality of code and ease the maintenance). And, most of the time, the code that I completely rewrote was the work done by these old programmers that know their language and their OS so well that they do not consider very important to put comments and write things clearly (they love shorthand syntax and so-called "optimizations"). Usually, their knowledge of algorithms is a bit weak and they produce easily labyrinthine code. I'm sure than a lot of them would be unable, for example, to write efficiently a simple paint program because of the number of specialized algorithms that are needed (to smooth curves, to fill an area, etc.). When you are not familiar with the academic skill involved, you cannot understand books or papers on the subject, whatever your curiosity may be. So you do the only thing that you can do: you copy/paste without really understanding. And more often than I want, I'm in this case too. E.g. I wrote a complete B4A library (SimplexNoise) without being able to explain how its core algorithm works.
More and more, modern languages allow us to build applications like a Lego game, by gluing many pieces written by others. It's a really good thing from my point of view as my productivity between today and the 80's has probably increased by several hundreds percent*. So we need different skills now, and thus different programmers.

* It's maybe a bit exaggerated ;)
 
Last edited:

Beja

Expert
Licensed User
Longtime User
Not at all, informatix.. I think you are right.. and if there is one thing to add, it is that, old programmers, in general, are more open-minded
to more ways of solutions than younger ones, because new programmers learned a finite way or algorithms to solve different kind of problems,
while the older ones depend on their accumulated experience and determination to solve about any kind of problem in more different ways.
modern colleges classes teach you how to program, how to make mistakes and how to solve them, so they didn't leave any space for you mind
to free thinking. That's why if a problem that was not in the curriculum is encountered then questions start filling the forums.
 

Informatix

Expert
Licensed User
Longtime User
Not at all, informatix.. I think you are right.. and if there is one thing to add, it is that, old programmers, in general, are more open-minded
to more ways of solutions than younger ones, because new programmers learned a finite way or algorithms to solve different kind of problems,
while the older ones depend on their accumulated experience and determination to solve about any kind of problem in more different ways.
modern colleges classes teach you how to program, how to make mistakes and how to solve them, so they didn't leave any space for you mind
to free thinking. That's why if a problem that was not in the curriculum is encountered then questions start filling the forums.
This is a complex subject and I don't feel very comfortable to make generalities. I'm speaking only of the professional developpers that I met (or worked with in open source projects). And I agree with scientists saying that we lose our open-mindedness with age because we have more certainties (they are reassuring and convince us that we understand the world around us) and more routines. It's more and more difficult to search new ways of doing especially when we know at least a good way. We can be so used to a particular way that we want to go quicker by repeating what we know, without even considering there could be a better way. Young people has a strong advantage in this matter as everything is new and uncertain. And I'm not convinced that young people, coming from the universities, will become worse programmers than those who learned everything on the job, a few decades earlier. The difference between them and me is mainly experience. They come with a different way of thinking, more scientific and more theoretical, but the job will always require to find solutions to problems and if they are reluctant to learn, not curious, etc., will they work for a long time in this profession?
 

IanMc

Well-Known Member
Licensed User
Longtime User
It all started with Rapid Application Development :) A lot of us learned because of a burning desire to know how computers work and not because we were forced to take classes in school.
Everyone enjoys writing a program that will make a computer or mobile device do something because they made it.
B4* is so easy to get started with that we're bound to get a lot of people with little idea of the concepts in making anything complicated.
I suppose each new generation of programmers starts higher up the ladder and with experience will learn the lower-level stuff as OOP provides many objects of black boxes consisting of code that you know absolutely nothing about and the younger people will experience things like:
'This object takes a value and returns a value in Hexadecimal' and they'll go eh? Hexadecimal? what's that?
 
Top