Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-other / 2008-12

What would your second language be and why?

8 messages · 6 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

Hi

I thought that by asking this question here, I will get unbiased answers. My daytime job is secure and I am a very happy Object Pascal developers. I'm a firm believer in rather learning one language and being very proficient in it, that being a "jack of all trades, but master of none". I have learned and used my share of languages over the years, but prefer Object Pascal a lot more than any of the others.

But there comes a time, when I like to extend my knowledge a bit. Pick up some new skills and maybe ever carry those skills over to my daytime job and programming language.

From the start I have been a big fan of the Java programming language.

To me, it's a very clean and well designed language and is relatively easy to learn and understand. Just a shame the GUI performance was so bad, though that was many years back. I don't know if things have improved since.

Anyway, I want to extend my skills in the new years and start learning a new language (make no mistake, Free Pascal is still what's paying my bills every month, and that's not going to change any time soon). My requirements is something that supports multiple platforms and that is one of the mainstream languages. I don't want to learn some obscure language like D or F# that nobody would hire you for - there just isn't a commercial demand for such languages, no matter how good features they have.

Anyway, what I see as mainstream at the moment is Java and C#. Both seem to be well designed, commercially acceptable (from a job hiring point of view) and appears to be clean code. Scripting / interpreted languages like Perl etc are out! So for me, it seems a choice between C# and Java. So far I am leaning towards Java, because it's more open (no big giant monopoly hanging over it), been around for years and is commercially viable. Development tools, documentation etc are plenty full! Plus it's well supported on just about any OS and device.

* What's your thoughts between Java vs C#?

* Have you got a better choice in mind and why?

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Marco van de Voort
But there comes a time, when I like to extend my knowledge a bit. Pick up some new skills and maybe ever carry those skills over to my daytime job and programming language.

First, on what primary grounds do you select the language? Commercial (iow something to put on your resume) or technical skills?

If commercial, and aiming at larger business, pick either C# and Java. If technical, pick something that is complementary rather than competing to the skills you already have.

But first, decide if you want to target larger or smaller companies. Smaller companies are less rigid in their language ways.

Also, the languages you picked are geared at the straight administrative side of programming, where both the money and competition is biggest.

If you go numeric, embedded (and there are several levels there), choices can be different.

Show quoted text 5 lines
From the start I have been a big fan of the Java programming language. To me, it's a very clean and well designed language and is relatively easy to learn and understand. Just a shame the GUI performance was so bad, though that was many years back. I don't know if things have improved since.

I never really liked Java syntax. I don't mind the language itself so much, but there is no love lost there.

I don't want to learn some obscure anguage like D or F# that nobody would hire you for - there just isn't a commercial demand for such languages, no matter how good features they have.

So, the commercial angle. Well, blindly selecting, VB.NET or C# then. Maybe if you have a feel for the industry that you go to (say they are not typically MS shops, but IBM or Sun), Java could be a choice too.

Show quoted text 8 lines
Anyway, what I see as mainstream at the moment is Java and C#. Both seem to be well designed, commercially acceptable (from a job hiring point of view) and appears to be clean code. Scripting / interpreted languages like Perl etc are out! So for me, it seems a choice between C# and Java. So far I am leaning towards Java, because it's more open (no big giant monopoly hanging over it), been around for years and is commercially viable. Development tools, documentation etc are plenty full! Plus it's well supported on just about any OS and device.

Don't try to rationalize a commercial decision with technical arguments. It is pointless.

* What's your thoughts between Java vs C#?

Roughly the same. Choice boils down to allegiance of your future employer to either MS or Sun/IBM. The size of the C# language scares me a bit though, specially the heaps of modifiers, and new syntax every two years. Though for the former one could argue where C# stops, and MSVC modifiers start.

* Have you got a better choice in mind and why?

While learning C#, learn VB.NET too. Not that hard, and VB.NET shops are often in desperate need for that one programmer that solves the problems the hordes can't.

Marco van de Voort
to Marco van de Voort

In our previous episode, Marco van de Voort said:

I forgot my own choice, though it is more a role that krept up on me over time then a deliberate choice.

I spend roughly 25-33% of my time programming microcontrollers in C. The language skills required a pretty low though. It's more embedded/realtime programming that takes some getting used to.

Felipe Monteiro de Carvalho
to Graeme Geldenhuys: Hi I thought that by asking this question here, I will get unbiased answers. My daytime…

I think it depends a lot on what you intend to develop, but in your case it seams that there is no concrete goal other then having something in the resumee if you get fired. In that case I would take a look at the South African market and see what is the best option, not only in availability of places to work but also in salary. Be careful that you are asking in a global list, and the market will be different in each country, and even each city.

I went for learning web related languages, because that's something with a not so good support in current pascal tools. I learned some PHP, which is very popular for web here in Brasil and all of those cheap hosting options supports it.

I have recently learned some JSP in my university (Java for web) and it deserves a prise for most bloated development environment in the world. It requires huge labirintic directories structures, each peace of code completely far from the others, totally forced me a design I didn't want to follow. It is totally focused on development for teams of 30 or more people, making it extremely unproductive for small groups like I was working. It scared me so much that my oppinion about MS technologies raised.

By the way, I am each day more surprised that many companies are using Free Pascal and Lazarus here in Brasil, in the electronics field in which I work (no idea about other fields, but I would expect much). I think that most of them were using Delphi.

Felipe Monteiro de Carvalho
Graeme Geldenhuys
to Marco van de Voort: First, on what primary grounds do you select the language? Commercial (iow something to…
Marco van de Voort wrote
First, on what primary grounds do you select the language? Commercial (iow something to put on your resume) or technical skills?

It's something I would like to put on my resume and that makes me employable in other areas. Make no mistake, my current job using Free Pascal is rock solid. Delphi / Object Pascal developers are scarce in this country, and I am the sole developer at the moment, plus I worked for this company before some years back. So our relationship is very good and trusting.

So my choice for learning another language is not out of fear of loosing my job, it's simply my enjoyment of programming and wanting to learn new skills. I have used Object Pascal and Delphi for the last 10 years and thoroughly enjoyed it - and will continue using in for the foreseeable future. I've just rewritten our flagship product using Free Pascal and we have a lot more (smaller) projects in the pipeline.

But first, decide if you want to target larger or smaller companies. Smaller companies are less rigid in their language ways.

I'm not a big fan of large companies. Where I work now, we have around 35 employees. That's one of the largest "small" companies I worked for over the years.

So, the commercial angle. Well, blindly selecting, VB.NET or C# then. Maybe

The project I just rewrote was partially implemented in VB6 (by me many years back). I sure hope VB.NET has improved on that? :-)

if you have a feel for the industry that you go to (say they are not typically MS shops, but IBM or Sun), Java could be a choice too.

I have worked for a few MS shops (abroad and local), but I'm really not a fan of MS. In South Africa the software companies are quite varied, though the open-source uptake is huge at the moment.

Don't try to rationalize a commercial decision with technical arguments. It is pointless.

You are correct on that point. :-) But I would still like to enjoy what I learn. ;-)

either MS or Sun/IBM. The size of the C# language scares me a bit though, specially the heaps of modifiers, and new syntax every two years. Though for

That's a very good point. I don't know much about C#, but from what I have read, many people seem to agree on that point.

As for the C language. I really enjoyed that (many many years ago). But since I got hooked on Delphi / Object Pascal, productivity has increased a lot and the syntax is just so much easier to read. So I doubt I would return to C any time soon.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Michael Fuchs
to Graeme Geldenhuys: Hi I thought that by asking this question here, I will get unbiased answers. My daytime…

Hello,

I think it is less important to learn a language. If you have good experiences in one language and you have the ability to create good sourceccode, then it is easy to work with other languages to.

For example: I write software in our team leader
switch to C# it is a short time, to learn the ropes. But it was much longer to learn the .NET framework or to work with iBatis, log4net, Castle.Project and other frameworks.

So try out .NET/Mono framework in a language you prefer, to get a feeling about it. Maybe Delphi.Prism is interesting in this case. And play a little with VB.NET and C# (me ist prefering VB.NET, i hate C-style syntax with much {}{}{}{}).

Which languages are used today mostly? I think the both .NETies (VB.NET and C#), PHP for Webdevelopment, Ruby maybe in the near future. But the language is easy, it is the everything else (like the frameworks) which is harder.

just my 2 cents
Michael

Daniel Franzini
to Felipe Monteiro de Carvalho: I think it depends a lot on what you intend to develop, but in your case it seams that…

indeed!

Here in Brasil Delphi/FPC has a large user base. People use it to write small programs to make the PC-Side of some bigger system. I do this a lot in my job.

We've got several positive factors on pascal in Brasil

1.) There is plenty of university courses that use/teach pascal as their first language or as part of some coursework. This creates potential language users for developing larger systems.

2.) Delphi has a tradition for writing great desktop + database applications. I think that the extremely powerful engines for databases that Delphi always had helped making this possible. In Brasil there is a demand for this kind of application and Delphi seems to be the language of choice. FPC/Lazarus is a free and equaly powerfull tool so it can be used to write this kind of software for the opensource world which still lacks this kind of application (with quite a few exceptions).

It's not uncomon to see shops, restaurants, drugstores, gas stations, hospitals, etc being powered by applications written in Delphi by small software companies or by indivual developers. Like I said Delphi seems to be the language of choice for writing the PC-Side of some large system and for writing applications that drive small to medium business.

Felipe Monteiro de Carvalho wrote 33 lines
I think it depends a lot on what you intend to develop, but in your case it seams that there is no concrete goal other then having something in the resumee if you get fired. In that case I would take a look at the South African market and see what is the best option, not only in availability of places to work but also in salary. Be careful that you are asking in a global list, and the market will be different in each country, and even each city. I went for learning web related languages, because that's something with a not so good support in current pascal tools. I learned some PHP, which is very popular for web here in Brasil and all of those cheap hosting options supports it. I have recently learned some JSP in my university (Java for web) and it deserves a prise for most bloated development environment in the world. It requires huge labirintic directories structures, each peace of code completely far from the others, totally forced me a design I didn't want to follow. It is totally focused on development for teams of 30 or more people, making it extremely unproductive for small groups like I was working. It scared me so much that my oppinion about MS technologies raised. By the way, I am each day more surprised that many companies are using Free Pascal and Lazarus here in Brasil, in the electronics field in which I work (no idea about other fields, but I would expect much). I think that most of them were using Delphi. -- Felipe Monteiro de Carvalho _______________________________________________ fpc-other maillist - http://lists.freepascal.org/mailman/listinfo/fpc-other
Daniel "Let us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do." (Donald Knuth) "Yes, technogeeks can be funny, even if only to each other." (http://www.boogieonline.com/revolution/science/humor/)" "Man is driven to create; I know I really love to create things. And while I'm not good at painting, drawing, or music, I can write software." (Yukihiro Matsumoto, a.k.a. ``Matz'')