LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 09-13-2012, 08:11 PM   #1
emekadavid
Member
 
Registered: Jul 2012
Posts: 46

Rep: Reputation: Disabled
linux programming employable programming language


I do not think this should start a flame war, but if it would, can someone please call the fire brigades?
If one wants to program his linux machine, what choice of programming languages should he select that has value to employers, especially in the server and networking environments. thanks.
 
Old 09-13-2012, 09:02 PM   #2
suicidaleggroll
LQ Guru
 
Registered: Nov 2010
Location: Colorado
Distribution: OpenSUSE, CentOS
Posts: 5,573

Rep: Reputation: 2142Reputation: 2142Reputation: 2142Reputation: 2142Reputation: 2142Reputation: 2142Reputation: 2142Reputation: 2142Reputation: 2142Reputation: 2142Reputation: 2142
That's a pretty much unanswerable question. You mention server and networking environments, but this is still very open ended. Are you talking about linux admin style server maintenance? SQL development? Every programming language has its place, and in some cases they are on complete opposite ends of the spectrum. You need to decide in what area you want to be employed (application development (and in what field), IT/admin, etc.). The Linux kernel and most internal programs are written in C, however C won't get you very far in server/networking administration. Shell scripting is one of the big areas of administration, so that might be a place to start.
 
Old 09-14-2012, 07:55 AM   #3
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
Indeed, it is unanswerable.

My friendly and actually rather-serious suggestion is: "keep learning new languages, all the time." Over the past never-mind years, I've worked professionally in about two dozen of them. (I've even written two.) To be honest, it's a bit of a hobby for me.

The Linux environment is extremely rich in language tools, and of course, they're all free. Don't just look at the so-called "ALGOL derivative" languages ... which is virtually all of them if not all of the ones that you presently know. Look also at things like "R", "Prolog," and "Lisp."

Every programming tool (I don't limit myself to saying "languages") represents a particular refined technique that someone used to address a particular problem in what he thought was a unique and different way. (Okay, okay, Java was obviously designed by a lugubrious committee of village idiots, but it's done now. ) You can learn a lot by getting your feet wet with them, even if you never actually use them. You're building up a richer context of experience with which to approach any problem, and of course, when (not "if") someone throws you a curve-ball in the form of some new tool that you need to be able "to start using yesterday," you're much better prepared to do just that.

I'd say that it's that ability that's most important: not "what you know now," but "how fast and how thoroughly can you learn something else?"
 
Old 09-14-2012, 11:13 PM   #4
emekadavid
Member
 
Registered: Jul 2012
Posts: 46

Original Poster
Rep: Reputation: Disabled
yeah, i think i share the same view with sundialscvs. it's not what language you know, but how can you beat the learning curve based on the shared principles of language design and programming. thanks
 
Old 09-16-2012, 06:54 AM   #5
onebuck
Moderator
 
Registered: Jan 2005
Location: Central Florida 20 minutes from Disney World
Distribution: SlackwareŽ
Posts: 13,925
Blog Entries: 44

Rep: Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159
Member Response

Hi,

Adding to what other members have said, Problem identification and breaking the task(s) down in simplest terms provides the means for a programmer to get to solutions. Not all programmers are capable of simple algorithmic development so as to break the problem/solution into blocks in order to get to the end solution(s).

I have worked with people who could intuitively identify solutions but their code techniques were not top notch. Also worked with coders that could write in their sleep when given good directions as to what was to be done to produce tight and productive code.

As to which language that will provide employment? Well, that would be the language that the employer desires or dictates to you to be proficient with in order to get the posted job.
 
Old 09-17-2012, 08:50 AM   #6
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 4,070

Rep: Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897
Quote:
Originally Posted by sundialsvcs View Post
(Okay, okay, Java was obviously designed by a lugubrious committee of village idiots, but it's done now. )
I'm going to object to that in the weakest possible terms: Java was designed by a committee of people who started out quite intelligent, but, by the time that you dressed them up in suits and ties and tightened the ties to the point that no blood could possibly ever reach the brain and made them come to committee decisions they might as well have been village idiots. With AK47s. And a hatred of outsiders.

Quote:
If one wants to program his linux machine, what choice of programming languages should ... especially in the server and networking environments.
You'll have to learn some shell scripting, probably BASH. Half the time you might wish that you were using Python/Perl/Ruby, but some basic level of BASH will be vital to you, so that's one for your list.
 
Old 09-17-2012, 09:48 AM   #7
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
I also recommend bash, especially for Linux. However, I have no employment experience. I mean it's just that you will have to run commands and write some scripts.
 
Old 09-17-2012, 11:50 AM   #8
DavidMcCann
LQ Veteran
 
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Debian
Posts: 6,142

Rep: Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314
Bash is obviously vital. But don't forget Python. That's used for a lot of Linux housekeeping tools, especially in the GUI. Many people think "Programming? That's C" but, of course that's for writing applications rather than running systems.

The suggestion to learn several different languages is good, because they'll give you flexibility of outlook. I'm no programmer, but I once found a better solution to a problem in a Basic program from trying to do the job in APL!
 
Old 09-21-2012, 03:19 PM   #9
hydraMax
Member
 
Registered: Jul 2010
Location: Skynet
Distribution: Debian + Emacs
Posts: 467
Blog Entries: 60

Rep: Reputation: 51
Quote:
Originally Posted by emekadavid View Post
I do not think this should start a flame war, but if it would, can someone please call the fire brigades?
If one wants to program his linux machine, what choice of programming languages should he select that has value to employers, especially in the server and networking environments. thanks.
My qualification for answering this question is that I've purposely avoided focusing on the "popular" languages, which has left me rather poor. Unfortunately, the really cool, interesting, and most idealistic languages are less popular in the business world. (Haskell, Prolog, Lisp, etc.) If you want to have fun programming, and actually learn valuable programming concepts, try one of those.

Anyway, toward your original question: at the local university, PHP was really popular on the Web side, although for security reasons they are converting everything over to Python. As far as practical scripting, there is Python, Perl, and (if you really hate yourself) Bash. C++, of course, is the old standard for application development. C for driver and kernel development. Traditionally C for networking, though I think the scripting languages like Python are getting better at handling that now. If I was focusing 100% on employability, I'd probably go with Python and C++.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 03:59 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration