What Language?

Hi,

It’s been sometime since I did any programming (Mostly Pascal and some REXX). I’ve recently been introduced to Suse. I’m interested in getting back into programming… which language would you recommend for a newby with Suse?

Thanks for your help.

George.

My personal opinion:
C/C++ or Java.
(Unless you want to go script type languages like Python, Perl etc.)

Java - most definitely. I know Java is really just a C++ product, but to me, java is all you need in order to accomplish any task.
Also, Sun is all about open source, just like openSUSE, so they go along pretty well.

Good luck.

Python. Period.

As many different ones as you can.

Depends on what you want to program. Some factors:

If there is an existing code base, you probably want to use a language that easily extends it.

If you need to work with hardware, C or C++ is probably best.
If you are writing applications, Java is nice because it handles memory management for you.
If you are writing quick programs, a scripting language like python or ruby is good.

For desktop applications it would be wise to go for java or C/C++, for scripts go Python (or PHP for webscripting). Perl is old-school :stuck_out_tongue:

Hi

This depends on the problem you’re going to solve. If you want nothing but spend your time then its Malbolge lol!

But for solving real life problems I would consider shell scripts; this lets you make use of all those wonderful tools others have already written. And if you need speed and want to write something useful for yourself and for others to share then it’s C or C++. Those programs will be useable for a loooong time. Anything else risks to be obsolete when the next release of the fancy exotic language pops up.

Hi,

so many people points out C/C++ and Java before and yes in the Linux world C/C++ is already one of the most popular languages. Java is also a good idea to learn because it is platform independent and isn’t as complex as C/C++ but you can also consider C# which is an alternative to Java. (I’ve read an article series in the linux magazine and it looks like it might be the better Java :wink: )

You’ve said that you’ve done pascal before, then I would recommend scripting languages, something like Python or Ruby (which might be the better python at least from the language developers initial goals :smiley: ). Both are scripting languages and you can use it in most common situations and you have bindings to Qt, gtk, for web development: Ruby on Rails, Django (python) and many many other modules. Both are easy to learn and are well documented with lots of tutorials and examples and platform independent. Maybe you want to try both (the syntax is in most cases similar) and then decide which you like more :wink: . Later on maybe you can going forward to C/C++, Java, or C# if you are feeling that you want to do something new :wink:

Ruby Programming Language
Python Programming Language – Official Website

Have a lot of fun

Here’s a quote from a transcript of a 1984 panel discussion that I came across recently while sifting stuff to keep or toss. The speaker is Stu Feldman of the then Bell Labs:

The distinction between a professional and an amateur programmer is that a professional programmer probably speaks a half-dozen languages, and views the acquisition of another language as just another thing he’s going to do one day, while people who aren’t professional programmers view learning any programming language as reaching their lifetime quota, and are very hard to convince that even extensions or modifications of that language are something they want to learn.

Yes, those with proper computer science background are generally familiar with many languages because they apply their knowledge of language fundamentals to any new languages to learn. Those coming from other backgrounds do not see any meat in theoretical stuff like “finite automata and grammar”, “boolean algebra”, “predicate calculus” etc. (Also, I am sorry to say that there are guys who studied all these things just to pass exams).

Between Ruby and Python, I suggest Ruby that is both object oriented and aspect oriented.

not really.

for scripts go Python

not really.

(or PHP for webscripting).

PHP is not just for web scripting. As far as it goes, its perfectly ok to use it for desktop applications as well.

Perl is old-school :stuck_out_tongue:

and reliable.

Many Thanks to all who have posted and offered advice so far.
Looks like I might start with Java and perhaps python.:wink:

Hi,

As C++ and Java (and I hear C#) are so similar, if you know one you can be using the other one very quickly. The main differences are:

  • Java only allows object oriented programming whilst C++ allows both procedural and object oriented programming.
  • The HUGE number of libraries you can include in your Java programs.
  • Java has an automatic garbage collector, whereas C++ leaves deallocation up to the programmer.
  • Java runs in the JVM whereas C++ is compiled into executable code (which means Java programs can be run on any machine with a JVM installed).
  • Java doesn’t use ‘pointers’.

All this said, a lot of the code is identical.

Perl is a wonderful language (I only wish I knew it all).
Perl is commonly used for, but not limited to, form processing, connecting to databases, etc on the internet.

I am just started learning Python so can’t comment too much about it (I am enjoying using it though).

I would suggest learning about them one at a time, but never stop learning new languages as learning a new language will teach you how to program better in any language.

Have fun,
Barry.

Selection of language is really not that important, although people often attach religious zealotry to their language of choice.

If you use the language properly, no matter which one, chances are better than good that you’ll get the job done. What is more important is creating the algorithm to solve the problem.

That said, the simplicity of the language Python may afford you the most enjoyable learning experience.

It really depends what you’re going to be writing - for sysadmin type tasks, Java will be a real pain to work with compared to something like Ruby.