what is the best, and easiest programing language for linux delevlopment to learn?
Printable View
what is the best, and easiest programing language for linux delevlopment to learn?
C# or VB.NET. ;)
It really depends on what your goals are. If you're very new to programming, I would suggest taking a look at Python. I've used to do both Gtk and KDE/Qt (two different GUI libraries for X window) programming in it and it's a very easy language to learn. If you're looking to do more hardcore programming I would suggest C++ for KDE and Qt. I've never done any kind of programming for Gtk in C or C++ so I can't really tell you much about that. For KDE there is an awesome IDE called Kdevelop. I've used it together with QtDesigner and it's pretty sweet, very close to what you'd get from Visual Studio.
So first of all figure out what it is you want to program and then select the right language and tools to accomplish the job.
Gr,
Mightor
we have Shell programing in Unix (that would be the easiest programing language if you ask me), does linux has something like this...
Oh I forgot to mention that if you're looking to write kernel drivers or other low level apps that interact a lot with the system calls and other kernel structs, only C is really an option in that case. Unless of course you want to wrap them all in C++ objects but that would be a little redundant and cumbersome and may not even be possible in all cases.
Yes it does. Linux is a UN*X like Operating System. So all your favourite shells such as ksh, bash, tcsh, etc are available to you. A great distro to start you with would be either Ubuntu or Fedora. They're easy to install and east to keep up to date if you're not very familiar with Linux just yet.Quote:
Originally Posted by ganeshmoorthy
As for writing things like bigger scripts, etc, I would really suggest you take a peek at Python. It is a very nice language to learn the basics of Object Oriented Programming (OOP) with the added advantage of having a nice interpreter with great error messages to tell you when you mess up.
Gr,
Mightor
It very much depends on what you want out of your programs....there is no such thing as a defacto "best" language...for example, my role is a sysadmin. All of my programs are written in either shell script or perl...they're simple, functional, powerful and designed to be run from the command line, more often than not as an automated task. However, if I was writing GUI apps, I wouldn't even consider either language. If you can be a bit more specific about what sort of programming you have in mind, you'll probably get more useful answers :)
I use a mixture of C++ and shell scripts depending on what I want to do. If it's just to automate a task then shell scripts rock.
well i just happen to know VB.NET. I saw that on a post and something about Mono (i thought that was a (human) virus)
Mono isn't very good, especially for VB.NET. You will either want to try Mono with C# or forget Mono entirely. I would suggest the latter.
Mono is utterly useless. I've grown to dislike it intensely of late. It simply does not and probably will not live up to its promises (at least not for a couple of years).
If you want to do "real" programming under linux then look at C first. C is by far the easiest language to use on Linux because the entire OS is based on and around it. C++ is sometimes a bit trickier because of dependencies but even so its still easy to set up.
The actual act of programming C is easier than it is on windows too, mainly because the ANSI standards are much more strictly patrolled. Windows has its own drug-induced ideas about how things should be done. I'd advise you to steer clear of all IDE's though because they are all rubbish.
I do all of my Linux programming from the command line and use a normal text editor (vim to be specific) and its actually very intuitive. Plus you have 100% control over every step of the compilation unlike Visual Studio where you have to really coerce the compiler into using anything other than the defaults.
C all the way ;)
How so is C++ tricker because of dependencies? I don't have a problem.
And wxWidgets, the GUI toolkit I use, is a C++ toolkit.
Well, wxWidgets won't work if you're doing system programming. For that stuff, you really need to use C. For X programming, if you're not after cross platform compatibility (which would be a real chore to achieve anyway), I would recommend either Qt/KDE or Gtk/Gnome. Qt/KDE is more C++ oriented, Gtk/Gnome is more C oriented but C++ wrappers exist for it, too.Quote:
Originally Posted by TomGibbons
Vi is a really powerful editor but does have a rather steep learning curve. Personally I couldn't live without it on my LinuxUNIX systems and I have the Windows port installed on my Windows XP laptop. There are loads of tutorials out there on the Net. You could also try, *GASP* emacs, but you run the risk of being crucified by some of the more rabid members of the vi-gang. Emacs literally does everything you could want in an editor and much more. As the saying goes: "Emacs, nice Operating System. Shame about the editor." Not hard to tell I am a Vi man.
So decide what kind of programming you want to do, then make a selection of the tools available to you. Remember, Linux is all about freedom of choice and there sure isn't a lack of that.
Gr,
Mightor
Fair point, I should have explained.Quote:
Originally Posted by TomGibbons
Some (mainly the smaller, live CD) distributions ship with really sparse support for various runtime libraries. C++ tends to suffer from library deps problems more than C for some reason.
To illustrate with an extreme example: On super-lean systems you'll probably notice that there is almost no C++ runtime support at all. To some extent this occurs on many mainstream distros as well.
For example, load up Damn Small Linux off the default install and try to compile something... good luck with that, its not going to happen. However in a nice stable typical Fedora server you'd get dev tools aplenty, there's hardly anything you can't compile.
What I'm getting at is that C is the steadfast standard language what will work on all GOOD and well-selected distros, and I mean out of the box. DSL is a gimmicky liveCD with little technical merit above being usable by Joe Public.
Quote:
Originally Posted by mightor
I'm pretty rabid. I'm frothing, and I hate water in fact :D. You make some fine points :thumb:
To be honest, the only time I even use a GUI toolkit is when Windows users will be using my application too. If I'm doing system programming then the application doesn't have a GUI at all.Quote:
Originally Posted by mightor
There's no 'easiest' language, it's purely subjective. The platform is irrelevant.
I didn't mean easy as in syntax, I meant easy as in infrastructure and configuration.
There are however, some languages that are easier to relate to something you can recognize from the outside world, which in turn makes it easier for the average joe to take up, and learn the basics.Quote:
Originally Posted by penagate
If you're looking for something totally different to learn, then try Perl.
It might look like black magic when you first see it, but that's all part of its power. It's especially good for manipulating large (or small) amounts of text and has excellent support for regular expressions, so good that many languages try to copy it (but mostly fail miserably :D ).
I'm currently learning how to create a GUI with Perk/TK, which is far easier than coding System.Windows.Forms in C# without an IDE.
After all that, you can't go wrong with learning a bit of BASH scripting :)
Quote:
Originally Posted by vbNeo
i agree. I find PHP alot easier then VB.NET, and C/++
PHP is a typeless mess and it has some extremely dodgy 'features'.
You want easy? Try realbasic. Its cross platform.Quote:
Originally Posted by dclamp