Jump to content
MakeWebGames

Perl or Python or something else?


Nickson

Recommended Posts

As I have been wondering recently, most of the more experienced people out here will have used perl or python at some point, or at least came in touch with it as they had to make a decision.

I'm wondering what the "best" language is for actually various things. I know this doesn't make it any easier, but still I'm at a point where I would like to know what language I should dig deeper into to work on linux systems.

The system is mainly linux, but if it would or could work on windows as well without any large portion re-programming, the better.

It's meant for both console & application development... Extra question is, should something extra be used like GTK or do any have the power to create an application GUI from the language itself?

I know there are actually a lot of possibilities, and I already have considered Python, Perl, Java and C(c,c++, c#) but I still can't make up my mind. I think perl and python probably have the upper hand to work better with the linux file systems in general, like bash and shell. And I actually crossed out Java already due to it's language platform, even if that's actually an advantage if we're talking about using it on multiple OS's. I would also have full system access, so it's not a problem to install an extra module or anything alike. However it has to work with a database system (preferable MySQL). I do not know much about perl or python whereas I have gotten much more experience with C, PHP & Java.

So who can help me? Who knows more about this?

Link to comment
Share on other sites

- Due to its odd syntax and quiet old base I would not use Perl, unless you already know it and / or you have some library you want to use.

- C / C++ are great if you need lot of speed, but be prepared to invest lot of time, specially if you want a cross platform tool / app.

- I used python quiet a lot (some years ago), and I must say it's a good language, and will certainly be portable across Linux and Windows. However GUI development with python is nothing more odd, and I would personally use it for system administration tasks or small utility but not for a full project.

- Java is currently the language of choice if you want a multiple platform development, and speed as well as accessing low level resources is not a problem. Honestly I don't like it due to multiple reasons and I would personally not use it, however it is still one thing you may consider depending what your project is.

- C# with Mono / .NET is my personal choice, however the GUI support on Linux is not as good as on Windows even if most of the features are there (if you use WinForms). For Console / Services, Web app and Web services, it really shines on both Windows and Linux. For GUI, 3D or others, on windows it's really good, on Linux a bit less so.

So, my 2 cents: choose the language you are the most comfortable with, think that you will need about 6 month to start to master a new language, and really check what you want to do, as depending on that the language of choice may vary.

Link to comment
Share on other sites

I would recommend python or java.

Even though I don't have much experience with perl, I feel sick looking at code written in it :P

I like python code because it's easy to read, pretty easy to manipulate data structures and it's just fun to code in. Python's also got many gui libraries available, including gtk+, and many database libraries.

Personally I think java is too verbose, but it's still okay to work with. It's got some pretty good IDEs to use, and it's also got the swing package for guis. I haven't used java with mysql before but I imagine you'll need many lines of code to do even simple stuff :P

I've recently started using c# but I don't know enough to answer (it's pretty nice though). I heard linq is pretty amazing for data, maybe ask a_bertrand about that :)

I don't think c/c++ is worth the headache if you are trying to make it multi-platform. There's really not much reason to use c/c++ anymore unless your application is performance-critical.

Link to comment
Share on other sites

Thanks for the replies guys, others are still welcome.

Java is actually off the table, I have my fair share of experience with it and I'm just not a huge fan of it. While it's probably one of the, overall, easier options, to use, I'll leave it aside. I also didn't found it very optimal to use mysql together with java.

I actually thought python and C# would come up as "winners". C# probably works way easier with mssql db, but that's not problem either (as long I have a real dbms, it's fine)

Speed isn't the most important thing, as long it's reasonably quick, so I guess C# or Python will do

@AB: I know it takes a very long time to fully understand a language, however time isn't important here. It's mainly to play around with, learn some new things while they are being done. If it lays aside for a month, it doesn't hurt either ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...