about to give programming another try

i know some c++ and i was wondering what the main programming language seems to be in use for linux programs and if anyone would be able to reccomend a good guide to do so and to make gui programs as i have some c++ knowlege but none for gui. This would be my first time programming in linux :slight_smile: all my work was done in windows

The kernel and many supporting applications are written using C, so that’s the first language you should learn. You also need to learn shell scripting–use the Z Shell. C++ is another language you must learn (you know it already), especially if you want to create/modify GUIs.

A good book on C is The GNU C Programming Tutorial and A Book on C

For C++: GNU C++ for Linux

For shell scripting: From Bash to Z Shell: Conquering the Command Line

You of course need the compilers (and applicable libraries) and learn how to use them, so getting and learning about the GNU Compiler Collection is a must.

You may also be interested in Linux From Scratch which is a step-by-step guide on creating your own Linux distribution.

Also learn some Python, just for fun !:stuck_out_tongue:

ok thanks for the advice :slight_smile: will give it a shot :slight_smile:

Hi,

If you just want to make some fast GUI programs, Java is very easy to use for this, and as it’s Object oriented and the syntax is very similar, it’d be very easy to learn for a C++ programmer (I learnt Java after already learning C++).

Java also has the advantage of being OS independent, so you can share your programs with your friends who haven’t installed Linux (yet) and has a vast API for which there is excellent documentation available here.

There are also some tutorials available here

Regards,
Barry.

I’m in a similar position to you - having known a bit of C and C++ from an attempt to learn to program years ago. I’ve decided to pick it back up, and learn it as a hobby.

Can’t advise you on languages, but one thing I have noticed that’s changed in my time away is that IDEs are now often multilingual.

I’ve just installed netbeans, and it looks really well developed - there are many others.

They’re often modular, such that you can easily ‘window shop’; install one, then just plug in new languages, look at the example code, and take ideas from one to the next.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

And I personally have been enjoying Eclipse lately. Java is great to know
for all of the aforementioned reasons plus a few others. Personally C is
fantastic to know but unless you are really needing it I would probably go
with Java or Perl for almost anything else (and PHP for the web, but
that’s also option to Python, Ruby/Rails, etc.). If you know C then work
on learning Perl and Java. After you know two languages all the rest are
basically the same thing with a few language-specific quirks and some
slight syntax changes.

Good luck.

Confuseling wrote:
> I’m in a similar position to you - having known a bit of C and C++ from
> an attempt to learn to program years ago. I’ve decided to pick it back
> up, and learn it as a hobby.
>
> Can’t advise you on languages, but one thing I have noticed that’s
> changed in my time away is that IDEs are now often multilingual.
>
> I’ve just installed netbeans, and it looks really well developed -
> there are many others.
>
> They’re often modular, such that you can easily ‘window shop’; install
> one, then just plug in new languages, look at the example code, and take
> ideas from one to the next.
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJLDKWHAAoJEF+XTK08PnB5XzoQANUfwaPB9bBu7wqWzg238/E0
pRHUdO4mCVY95Tiud+SlaAHlDvbC55ewgMyjuRT34bHYkqa7rnYyTpjFuFj+L/2C
Nudbkpq5JodMBhZmMeMUc1JmwW6ZbEOMH7ZjtngWvt518jWSfg+Uonpo2Qot9u/T
NdelbAlmyoYhgW6OzM31LP/1ECFW2dQKZv2hlXWnlbC3ZsnlFa3Q2sdmxR+eWcwj
j11wCXPe+lK8BZ4G1OEuTpl4iZgpmCSZzquMjjAGgBA9HafLYa8toVEp3L5tc5yR
Eti5FBH0DMCBHWNWiqTgItla+rbwv868z/lxO+cjNn1Phb0Wo3lKPVAz+WYfur3M
54sPB29mi+nFr+bo+rV9gdhWE1padl3M0t1xUeU9vrj4JAT2QZo0s6sTW+qE0kC6
3dJ27knGMIzf+iPylCoUHqwJ9c4rtAayzS65yEvRsF3hgEhIn6Xemvh4ZMoEWe2H
bWMxrF+u/GMZV9cjD3M2jyoRKn715jRl9YOePclOfi+ogQCqYOrrWQDuzSpB2X6E
rIRVI6OJFrnYRc6r/pR3W6dmERAmf4XfpsPIGXnKk2HFSLqlixebWXNuUuO4ExHl
sLg/9zEebL1EJT0ePtF9p/mjRw1gMQfCI7wCcfkNxwuZKdpy/5+JVuFf5hLHOAgm
JfgrHty+sw2lncH6gWp2
=0Txm
-----END PGP SIGNATURE-----

You may also want to consider the Netbeans IDE. It’s not just for Java. It allows you to also create applications in C/C++, Fortran, Ruby on Rails, Python and PHP.

The language you choose should fit the type of application you want to create. For linux systems programming, C is a great choice. For web applications, Java or PHP are nice.

Some say that Python is one of the easier languages to learn quickly.

netbeans.org

WOW i didnt think i’d be able to do it but i think i actually just figured out how to use functions in c++!!! hehe it was one of the things i was struggling with in c++ that, arrays, and gui work

@ Ab. Yeah, Eclipse was the other one I nearly went for. Kdevelop also looks quite interesting.

Code::Blocks has a loyal following, but seems to be limited to the C family.

@ terrified. Well, have fun. And be warned; it’s really addictive!

If I knew C/C++ I’d give Qt Creator a try. That’s the first editor that gave me the impression… yes this might just be on par with Visual Studio.
(Also allows you quickly create Qt based GUI apps)

Since I don’t know C/C++ but do know Java and was interested in Qt I started off with Qt Jambi :)… but yeah if you already know some C/C++ then stick with that as the majority of the linux applications is written in it afaik.