Author Topic: Programming: Past, Present, Future  (Read 6154 times)

worker201

  • Global Moderator
  • Member
  • ***
  • Posts: 2,810
  • Kudos: 703
    • http://www.triple-bypass.net
Programming: Past, Present, Future
« on: 17 May 2010, 22:35 »
From another topic:
learn python, dont learn c, c++, or php. it isnt the 90s anymore and "being able to program" isnt important: being able to build applications is important.

Personally, I like to think of programming languages as tools in a toolbox.  If you're going to fix a car, you need a wrench and a screwdriver - but just having those won't magically fix your car if you don't know what's wrong and don't have any replacement parts.  But the reverse is also true - you can't install a new gasket without a wrench.  So I think it's important to know the syntax and control structures of a number of programming languages.

As to which language, I think it's best to focus on the languages common to your industry.  For example, to write Windows software, you need to know C# and be familiar with dotNet.  When I was an open-source cartographer, I found awk, Perl, and shell scripting to be the most useful languages.  Now that I'm into GIS, SQL and Python are my main tools - haven't used awk in ages.  Surely there are times and places where C and C++ are still appropriate, right?

Web programming, though, is a little harder to pin down.  I was doing a little dicking around with PostgreSQL, and wanted a language that could hook easily into that, so PHP was a perfect choice for me, because I could get started writing applications within just a couple days.  I don't know if I'd want such a loose language for enterprise applications, but I'm not making enterprise applications.  The difference between web programming languages to me seems to be the difference between brands of pencils - some are more reliable than others, but ultimately, it's a matter of preference.

Kintaro

  • Member
  • **
  • Posts: 6,545
  • Kudos: 255
  • I want to get the band back together!
    • JohnTate.org
Re: Programming: Past, Present, Future
« Reply #1 on: 18 May 2010, 02:06 »
I don't have any applications running on python, some might use python, but none are written in it. Everything is written in C++ or C, and a lot of it is in C#.

C was the language that our systems were built and designed in. The Windows 7 Kernel, the Linux Kernel, the MacOSX Kernel, BSD Kernel are all written in C. Most of the basic stuff on top of these is also written in C and C++. The most essential language is C simply because it is easily the most powerful and versatile language out there. Even if it does become unpopular for application development (and we are yet to see that day, everything useful is written in C++) understanding the language means you have the single tool needed to understand the operating system perfectly, and knowing that means you are going to write BETTER applications regardless of what you write them in.

It doesn't matter what age we are in, a script kiddy is always a script kiddy.


worker201

  • Global Moderator
  • Member
  • ***
  • Posts: 2,810
  • Kudos: 703
    • http://www.triple-bypass.net
Re: Programming: Past, Present, Future
« Reply #2 on: 18 May 2010, 04:14 »
I got the impression from fiddling around with KDE that a lot of its inner workings, such as OLE, is performed by python scripts.  So python is definitely an up-and-coming language.  But I've always felt that my study of C has led me to a greater understanding of how Linux, Unix, and BSD work, even though much of the outwardly apparent stuff in the modern versions is done in other languages.  So I totally recommend C, even if you only bother to get through the first couple chapters of K&R.

Another C habit I've adopted is using 1TBS in every language I program in.

Refalm

  • Administrator
  • Member
  • ***
  • Posts: 5,183
  • Kudos: 704
  • Sjembek!
    • RADIOKNOP
Re: Programming: Past, Present, Future
« Reply #3 on: 18 May 2010, 11:47 »
Another C habit I've adopted is using 1TBS in every language I program in.
I always hate it when I'm in a project group that uses a different style than I'm used to (I only did C# and JAVA though).

I prefer Allman, but most project groups use K&R.

piratePenguin

  • VIP
  • Member
  • ***
  • Posts: 3,027
  • Kudos: 775
    • http://piratepenguin.is-a-geek.com/~declan/
Re: Programming: Past, Present, Future
« Reply #4 on: 18 May 2010, 20:02 »
I would recommend to anyone to learn python and PyQt for desktop applications, and further the web languages: html, javascript, css, just as I would recommend a calculator rather than an abacus to an accountant.

"But you can learn a lot from an abacus" well, that's a bit stupid but indeed you will be better at mental arithmetic than anybody.

What do you think is more useful:

programmer #1 knows C, C++, knows what the fuck goes on inside his computer, can build a program that prints out prime numbers, even factorise! solves your mathematical problems and gives you horrible output
programmer #2 knows html, css, javascript, python, can build you a blog in the least, can build websites. draws pretty solutions to your problems using flot or similar.

because programmers like #1 are getting raped and pillaged by the extension authors, iphone app creators etc that are coming up and making shit loads of money, doing cool things, making peoples lives easier, and ending world poverty. But not everyone is interested in these things (for example, all of us can program but I don't know anyone who has done anything useful).

programmers that start like #1 are definitely important, and much of the places where C/C++ are used are areas where a newcomer will be no addition until years because they're so skilled. But more and more people are programming like #2 and doing the things people want. Languages like python make it easier.

Jeez this is such shite, but it raises a few wee points. I'm in the middle of my exams, shouldnt be writing this, but my brians too mush to study, exam today so was up at 3am. Basically, the new programming stuff is incredibly empowering imo, and people should be thought not to program for the sake of it (which is useful) but to focus on a language that will work for them, use the libraries to help with their task, and build mighty fucking applications.
« Last Edit: 18 May 2010, 20:14 by piratePenguin »
"What you share with the world is what it keeps of you."
 - Noah And The Whale: Give a little love



a poem by my computer, Macintosh Vigilante
Macintosh amends a damned around the requested typewriter. Macintosh urges a scarce design. Macintosh postulates an autobiography. Macintosh tolls the solo variant. Why does a winter audience delay macintosh? The maker tosses macintosh. Beneath female suffers a double scum. How will a rat cube the heavier cricket? Macintosh calls a method. Can macintosh nest opposite the headache? Macintosh ties the wrong fairy. When can macintosh stem the land gang? Female aborts underneath macintosh. Inside macintosh waffles female. Next to macintosh worries a well.

worker201

  • Global Moderator
  • Member
  • ***
  • Posts: 2,810
  • Kudos: 703
    • http://www.triple-bypass.net
Re: Programming: Past, Present, Future
« Reply #5 on: 18 May 2010, 23:06 »
I'm going to try to be nice, because you're overblown from studying and exams and whatnot.  But dude, a teenage girl with a mobile phone can build a blog just as well as anyone.  And C is useful for a lot of things, not just finding large primes.  In your example above, I would likely pick programmer number one, just because anybody that knows C and C++ well can probably learn loosely typed languages quickly, has experience chasing deep bugs, knows how to compile and comment, and is likely a fairly organized programmer.  Such a person can probably pick up HTML and CSS over a weekend, and be fairly proficient in JavaScript and Python within a couple weeks, because they have a good solid structured programming background.  I'm not at all certain that the reverse is true.

Kintaro

  • Member
  • **
  • Posts: 6,545
  • Kudos: 255
  • I want to get the band back together!
    • JohnTate.org
Re: Programming: Past, Present, Future
« Reply #6 on: 19 May 2010, 03:05 »
Old member Stryker used to build decent apps in C++, wish he was still around.

TheQuirk

  • VIP
  • Member
  • ***
  • Posts: 2,154
  • Kudos: 315
Re: Programming: Past, Present, Future
« Reply #7 on: 19 May 2010, 11:33 »
I agree with Worker201.

Python is a nice language to learn first, but if X is prevalent in your industry, learn X instead. You'll learn a lot about programming, even if it's COBOL. Picking up Python won't be so hard afterwards.

I think I'd hire programmer #1. Although programmer #2 knows how to do plots, he is probably not great at filling them up with correct data. :)

piratePenguin

  • VIP
  • Member
  • ***
  • Posts: 3,027
  • Kudos: 775
    • http://piratepenguin.is-a-geek.com/~declan/
Re: Programming: Past, Present, Future
« Reply #8 on: 19 May 2010, 15:03 »
A programmer in this day and age should be impressing people with their work after a few months of commitment, not a few years imo. There are thousands of people who are like this now.

There is definitely a time and a place for each type of programmer, but I'd prefer to encourage someone new to do new and exciting things, not go down the same path so many people have been going down for decades (example me: I leanred C and even started learning assembly: clearly, I simply had too much time on my hands), and becoming just a script kiddie.

Then again there are two different purposes of programming, it depends on what type of mind you're dealing with, and most people will figure out what they want.
"What you share with the world is what it keeps of you."
 - Noah And The Whale: Give a little love



a poem by my computer, Macintosh Vigilante
Macintosh amends a damned around the requested typewriter. Macintosh urges a scarce design. Macintosh postulates an autobiography. Macintosh tolls the solo variant. Why does a winter audience delay macintosh? The maker tosses macintosh. Beneath female suffers a double scum. How will a rat cube the heavier cricket? Macintosh calls a method. Can macintosh nest opposite the headache? Macintosh ties the wrong fairy. When can macintosh stem the land gang? Female aborts underneath macintosh. Inside macintosh waffles female. Next to macintosh worries a well.

worker201

  • Global Moderator
  • Member
  • ***
  • Posts: 2,810
  • Kudos: 703
    • http://www.triple-bypass.net
Re: Programming: Past, Present, Future
« Reply #9 on: 20 May 2010, 02:13 »
I don't know what it's like in England (or Australia), but in the US, there are no jobs for 'programmers'.  Companies are hiring employees with 3-5 years experience doing software projects using languages x, y, and z.  If you know languages a, b, and c, you're shit out of luck, no matter how good you are.  So really, this discussion is sorta academic.  Again, know what is being used in your field.

Refalm

  • Administrator
  • Member
  • ***
  • Posts: 5,183
  • Kudos: 704
  • Sjembek!
    • RADIOKNOP
Re: Programming: Past, Present, Future
« Reply #10 on: 20 May 2010, 11:33 »
A lot of companies started up hiring a programmer that did a project using COBOL, Oracle SQL and Delphi for example.
Then that guy leaves and the company starts to look for a programmer that can do the same, and has even been an expert on those languages for at least 5 years. Basically, they want that guy back.

I think choosing the right programming language is just a big gamble. You have to be lucky that you match a certain, sometimes unrealistic profile. Being a JAVA expert, you can easily switch over to C++ or C#, you'd think, but that isn't enough for managers. They want to be certain that you are an expert in a certain language, in combination with other languages.

piratePenguin

  • VIP
  • Member
  • ***
  • Posts: 3,027
  • Kudos: 775
    • http://piratepenguin.is-a-geek.com/~declan/
Re: Programming: Past, Present, Future
« Reply #11 on: 20 May 2010, 15:24 »
I'm not going to suggest to someone interested in programming (in this case a 14 year old), that they position themselves so they can get a job. This person will be programming by themselves for months or years, in my opinion the important thing is that they become developers - who actually develop, and their main focus should be a language or a framework where they can create some interesting things without spending an entire year.

Of course, a bottom up programmer will be better geared to thinking about problems, but I just believe a 2010 programmer doesn't need to be proud of a prime factor program. That runs in console.

Let me mention dashboard widgets, firefox extensions. Things that, by choosing the correct SIMPLE (or standard) technologies, these things attracted ASTRONOMICAL numbers - new and old developers (probably mostly old, but still including:): people with no interest in computers for the sake of computers, but a vision, or a job they wanted doing. In my opinion any programmer should be interested in doing a job, not interested for shits and giggles. But, if you go on from knowing everything about computers and solving problems, to building things, as I'll say (without being too careful for a complete lack of time) a not-very-healthy amount of people who know everything about computers do, then you will be very useful surely.
« Last Edit: 20 May 2010, 15:46 by piratePenguin »
"What you share with the world is what it keeps of you."
 - Noah And The Whale: Give a little love



a poem by my computer, Macintosh Vigilante
Macintosh amends a damned around the requested typewriter. Macintosh urges a scarce design. Macintosh postulates an autobiography. Macintosh tolls the solo variant. Why does a winter audience delay macintosh? The maker tosses macintosh. Beneath female suffers a double scum. How will a rat cube the heavier cricket? Macintosh calls a method. Can macintosh nest opposite the headache? Macintosh ties the wrong fairy. When can macintosh stem the land gang? Female aborts underneath macintosh. Inside macintosh waffles female. Next to macintosh worries a well.