ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
i am a total newbie to Linux Programming, cause i have just switched Over from Windows to Linux(Ubuntu)...!
I want to learn the basic things that a Linux Programmer shud know!!
Java ^^. Seriously though, what do you want to do? Linux programmers/advanced users usually want to learn at least C and some sort of scripting language as perl or python. If you don't have an objective (ex: developing an application or script), then you don't need to learn programming. You don't need that in order to use Linux. Well, short answer: C and Perl ^-^
Bash is the native linux shell. You will want to learn how to use it and common tools such as grep, sed, awk and others. In linux, it is common to write short scripts which pipe the output of one command to the input of another until you get what you want.
The kernel, and most of the commands in linux are written in C. If you plan to use a GUI framework, then you want to learn C++.
Some distro's use bash for most of their scripts. Others use Perl.
If you want to learn C programming in Linux, I would highly recommend reading "Linux Programming By Example: The Fundamentals" by Arnold Robbins.
One of the neat things about linux, is that you can dip your toe into different languages without without shelling out a couple hundred dollars for a compiler.
i have done some c++ programming in Turbo C++ & Bloodshed's DEV-C++ on Windows.
SO, are there any changes while programming in C++ on Linux, like the header files.. etc.
Learn shell scripting. Then learn Python. Then learn C. Come back in 20 years and I'll tell you what to do next.
That'll be ten years. I started writing .BAT files and HTML at (to the best of my memory) age 13, followed that up by javascript. At age 15, I started learning C. At around age 20, I learned python. At age 22, I learned C++, java, SML and bash scripting (along with XML, XPATH, XSLT, XHTML and LaTeX, but they're not programming languages). I'll soon turn 23, so over the cause of ten years, I've learned the three languages you've suggested, plus a bit more.
I might be a great hacker (http://www.paulgraham.com/gh.html), but I don't know. I'm as close to a straight-A student (comp.sci. major, math minor) as you'll ever get in real life (note: some difference between the danish and american grading system is lost in translation), but the interpretation of that I'll leave up to you.
Anyways, I didn't come here just to talk about myself (and certainly not to brag). I have a little trouble pinpointing your exact skill level, but I would say that if you already have done a bit of programming, it wouldn't be too hard to pick up on bash, python and C simultaneously. The fundamentals are the same anyways (variables, iteration, branching, recursion, printf-like string formatting), only the syntax differs. By learning them simultaneously, I conjecture you'll also discover quite clearly the ways in which the languages differ. I might be pulling that out of my ass, though.
You may want to consider reading "The C programming language, 2nd edition" (the K&R book), "How to think like a computer scientist: learning with python" (on ibiblio, IIRC) and "Advanced Bash Scripting guide" (GIYF).
Just try to write something in Linux that you've already done in MSWin ie port a program. Note that VB, ASP & VBScript are MSWin only (unless you go for WINE or VMware).
Knowing bash is pretty much a pre-requisite for Linux, especially if you are using the CLI (cmd line interface).
Knowing bash is pretty much a pre-requisite for Linux, especially if you are using the CLI (cmd line interface).
I disagree: knowing bash in the sense that's being discussed here (i.e. for scripting) is not a prerequisite for using GNU/Linux, just like being able to write .BAT files isn't a prerequisite for using DOS (let alone windows).
That being said, knowing your way around bash (that is, knowing what cd, mv, ls, cp, ed, ps, bg, m4, at, as, ln, ld, cc, ar, ... does) probably is something you'll have to learn in order to use GNU/Linux (okay, maybe I'm stretching it a bit, but cd, mv, ls, cp, ps, and ln are probably reasonable to expect)--because it's not (yet?) everything that can be done with a GUI.
Knowing the cmds avail from the CLI was what I meant, as in the most common environment (ie shell) on Linux is bash ....
Given his stated known langs, the 2 that directly work on Linux ie Java & C++ are usually programmed from the CLI by most people I know. More accurately, even if they try to use an IDE, they usually have 1 or 2 xterms open as well....
Just gonna throw in my two cents worth, crash_override_me (Hackers ref., no?), if you want to keep up your VB practice on Linux, look into Gambas. It's not a VB clone, but more like a VB "clean up" for Linux. Gambas BASIC is almost identical to Visual BASIC, with a couple slight changes.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.