Which Language?

Hello All

A few years ago I did a bit of programming, but never kept it up. I am now 40 ish and wish to get back into it. My aim is to learn at my own pace, and eventually write a project that I can show to other users, therefore learning more from the comments.

Which language do you recommend? Obviously I want it to be relevant to OpenSuse as this is what I use.

Any suggestions for both language and project would really help. Obviously my goal is long term, for my own enjoyment, but you never know I may be able to contribute in the future.

Thank you, Ian

Dive Into Python :wink:

There are many things you can do with Python in openSUSE. For example, you can create a plasmoid in KDE 4, just for the fun of it. :slight_smile:

Stay away from java :stuck_out_tongue:
After getting used to PHP, a little bit of VB (which is horrible) and C#… I’ve done some things in java.

So many things that were present in C# libraries seems to be missing from java, or implemented in ways that don’t seem to make any sense to me.
And it’s so horribly ugly if you use the default java components, which seem to lack some features you wouldn’t expect… like scroll over a combobox doesn’t change it contents.

Okay maybe I just don’t like programming GUI stuff as the ‘real’ coding work in it isn’t too bad.

Thanks for the replys. I will keep away from Java, as it sounds too complicated for me at the moment. A Plasmoid sounds like fun, so that has become my longterm goal. I am now going to research into python, I will let you know how I get on.

Thanks Again, Ian

If you’re mainly after fun I suggest PHP btw, the large amount of good examples and the excellent documentation / error reporting make it a joy to work with.

Shame it doesn’t do much good for desktop use as it’s ment to make websites :P. I found plenty of other uses for it, like thumbnail generation (from movies even, via mplayer) and filemoving.
And it’s doing a pretty good job at guessing filenames of files I want to download based on the ones I already got, huge time saver.

Think I might look into perl later as well, since I still gotta visit a website atm to perform the action, would be awesome if I could make a menu option for Dolphin to perform the same functions… or a plasmoid.

That’s a bold statement.

Please, elaborate what are the ‘.net’ things you miss in java. About behaviour of scrolling in combo box, I think what you describe is the right behaviour. Scrolling is browsing, not selecting an item in the combo box.

In fact, what you seem to dislike is working with AWT, which I can understand. Java is way more than client application’s development. Java is very much used on the server world nowadays (web applications, business components and web services) thanks to JEE and on mobile platform thanks to J2ME (slowly loosing groung to the iPhone and Android). Java is truly multiplatform, is open standards friendly and a industry-proven platform for serious development. It is a real OO programming language: solidly founded on the ‘late binding’ philosophy. It is way more powerful than PHP, which is fine for simple web applications. Perl is old and obsolete: it’s been replaced by java itself.
As for .Net. It is MS’ attempt to kill java. It is not really multiplatform; well, maybe if you consider Mono, a project I never understood (why on Earth would the OSS world put effort on MS’ technology for Linux when we already have java?).

That said THE programming language I LOVE is C (old good ANSI C). Then, the best next thing: Java. All the other post-C languages out there are just lessen copies.

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

Languages I enjoy and for which purpose:
PHP - Server-side Website anything
Perl - Anything with strings, searching data, organizing data, local
system administration, etc.
Java - Can be heavy but easy cross-platform applications… some decent
IDEs for making graphical stuff
bash - Command-line stuff obviously when I don’t need Perl’s regex/hash
power… day-to-day things.
JavaScript - Combined with the Rhino environment from Mozilla this
becomes a good candidate for various types of applications, though
traditional it’s for client-side webpage scripting.

Anyway it depends on what you want to do. Once you get the syntax down
many languages are very similar.

Good luck.

i666an wrote:
> Hello All
>
> A few years ago I did a bit of programming, but never kept it up. I am
> now 40 ish and wish to get back into it. My aim is to learn at my own
> pace, and eventually write a project that I can show to other users,
> therefore learning more from the comments.
>
> Which language do you recommend? Obviously I want it to be relevant to
> OpenSuse as this is what I use.
>
> Any suggestions for both language and project would really help.
> Obviously my goal is long term, for my own enjoyment, but you never know
> I may be able to contribute in the future.
>
> Thank you, Ian
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJdLUP3s42bA80+9kRAjJlAJ0QoHPfCs0iQC/bQckkUteSFEL5NQCffiyB
v69aiEgnL+Yehw49AAQdNzc=
=YHzS
-----END PGP SIGNATURE-----

Java is a good language to learn and you can use eclipse as your ide
There are some really good tutorials here
Used it for many when i was teaching.
I use C# at work but only any good for windows though there is the mono project Main Page - Mono

Python is another good language.

If you want to make more advanced applications then c++ is you best bet.
For that you van use eclipse Eclipse C/C++ Development Tooling - CDT or kdevelop
Tutorials Developing C/C++ Applications with the KDevelop IDE and Developing C/C++ Applications with the KDevelop IDE

When you’ve decided get a good book

/Geoff

i666an wrote:
> A few years ago I did a bit of programming, but never kept it up. I am
> now 40 ish and wish to get back into it. My aim is to learn at my own
> pace, and eventually write a project that I can show to other users,
> therefore learning more from the comments.
>
> Which language do you recommend? Obviously I want it to be relevant to
> OpenSuse as this is what I use.
>
> Any suggestions for both language and project would really help.
> Obviously my goal is long term, for my own enjoyment, but you never know
> I may be able to contribute in the future.
>
> Thank you, Ian

Real programmers code in machine language.

Works like that for dropdown boxes in browsers and any qt/gtk/windows/whatever application.

For sure…

And the things I’m missing, a datetimepicker, a gridview and sprintf (thank god for database connections there is the preparedStatement stuff). Wouldn’t mind if the JSpinner or whatever it was would be a bit easier to use either.

Think I’m mainly put off by remembering how easy some things were to do in Visual Studio in combination with C# and how incredibly hard they seem to be Java in combination with Eclipse.

Well most of those controls can be found in Java as well, you just have to use SWING instead of SWT. Swing (Java) - Wikipedia, the free encyclopedia
AFAIK eclipse uses SWT. Whereas another IDE Netbeans uses SWING.
Both eclipse and Netbeans handle multiple programming languages.
Also for IDEs theres:

Anjuta - gtk, c, C++
Geany - c++
MonoDevelop - c#
Eric - Python
QT Creator - QT, c++
Kdevelop - QT, KDE, c++
CodeBlocks - WXwidgets, c++

Also kate the text editor from KDE has a built in terminal and filemanager making it great for learning when you only have to compile a single file.

Agreed lol!

Did you check PHP-Qt? :wink:

00000111000001110011001000000011101100101001

/Geoff

PHP-QT is a dead project, I’ve checked it out myself a while ago. I find PHP-GTK to be a much better alternative as it’s still actively in development.

As for learning a programming language, start with a scripting language such as PHP, it’s incredibly easy to learn and very fast to use. After you’ve mastered PHP you can go a bit further and go for Python or Java. Python is a more mature language compared to PHP as you can use it for server-side scripting and to develop desktop applications (pyGTK, pyQT).

Java is amazing, you can create blazing fast cross-platform web and desktop applications but the syntax is a bit of a pain in the ass as it’s a static language so you’ll have to do a lot of typing. But you can easily reduce the workload by using a good idea and creating abbreviations for most code parts.

Python is nice but whitespace is considered as a part of the syntax, this can be either an advantage or disadvantage on how you look at it. You can also create Java applications with Python, just have a look at Jython.

That’s even worse then the assembly I was forced to learn rotfl!

Hi,

like many of the previous speakers I would suggest python. It is well documented, easy to learn, has many modules and bindings to other libraries like Qt, is platform independent and is usable for many tasks. Related to python I want also mention ruby which is according to the developers of ruby an improvement of python. A short while ago I had a look at ruby and I think I can also recommend ruby: syntax is similar to python but sometimes it has better modules especially I like the ruby-mysql implementation more than python-mysql, and of course not to forget the great ruby on rails framework for web applications. Of course python also have similar things e.g. turbo gears or django so that it is just a personal preference which you like more.

Hope that helps

Yes do you know what it means?

/Geoff

No clue, useless knowledge is best off being forgotten… fast.

And I consider it useless cause I know that noone is going to offer me a pay high enough to make consider picking that icky stuff up again :wink:

Monodevelop can do java as well, from what I understand.

Hint Binary to Text (ASCII) Conversion :wink:

/Geoff

Hi
But only 10 people understand it :wink:


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.1 x86 Kernel 2.6.27.7-9-default
up 2 days 15:14, 1 user, load average: 0.13, 0.16, 0.17
GPU GeForce 6600 TE/6200 TE - Driver Version: 180.22