Miscellaneous > Programming & Networking

Programming: Past, Present, Future

(1/3) > >>

worker201:
From another topic:

--- Quote from: piratePenguin on 17 May 2010, 22:05 ---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.

--- End quote ---

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:
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:
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:

--- Quote from: worker201 on 18 May 2010, 04:14 ---Another C habit I've adopted is using 1TBS in every language I program in.

--- End quote ---
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:
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.

Navigation

[0] Message Index

[#] Next page

Go to full version