Results 1 to 9 of 9
I wish To Create softwares that work in Linux....
Which Language/Tool Would you suggest for making cool apps.....?
I don't want to write separate codes for Ubuntu, Redhat, Debian etc.....(i'm ...
- 07-11-2011 #1Just Joined!
- Join Date
- Feb 2009
- Location
- Kerala, India
- Posts
- 4
Programming Language....
I wish To Create softwares that work in Linux....
Which Language/Tool Would you suggest for making cool apps.....?
I don't want to write separate codes for Ubuntu, Redhat, Debian etc.....(i'm lazy)... Same code should work in different Linux distributions when compiled in them.....
Please do help me choose....... i need to build GUI programs..
Don't say java... They say it's slow and we find it even slower...
Last edited by sarathkcm; 07-11-2011 at 08:42 AM.
- 07-11-2011 #2
There are many apps that are written in C, C++ and Python. One of those languages (or a combination of them) is good enough for creating Linux apps.
- 07-11-2011 #3
..and also java can be a viable solution.
It is not slow per se.
Granted, the software tends to get big.
But as always:
Choose the best tool for the job.
So it very much depends on the size, complexity and type of the task,
and also on the available ressources (in house knowledge, available developers and their skills, to a certain degree: hardware, etc)You must always face the curtain with a bow.
- 07-11-2011 #4Just Joined!
- Join Date
- Feb 2009
- Location
- Kerala, India
- Posts
- 4
Thank you... I would give a try with python... I've to start from the scratch, but i heard much about it and feels that its worth a try...
- 07-11-2011 #5
Since there is a standard in the linux api, and there are a lot of common libraries, C/C++ would be a very good option as far as programming goes. Now there's indeed some scripting languages such ad python and perl. I've personally heard many good things about perl, with things as their cpan, but I'm personally not that much into scripting.
I'm a C/C++/Java/X86 assembly programmer.
- 07-15-2011 #6Just Joined!
- Join Date
- Jul 2011
- Posts
- 4
I learned Python in a few weeks, but I found that it just wasnt powerful enough for some of the stuff I was planning on doing. C++ can open many more doors than Python/Perl, but is taking me a lot longer to learn. If you dont need the extra power then a scripting language like Python/Perl will do! It entirely depends on your project at the end of the day.
- 07-15-2011 #7
I have to disagree a little bit here.
C/C++ isn't more difficult to learn than scripting languages. Scripts give less power, but are generally quite quickly written. On the other hand C/C++ are more powerful making them suitable for a wider array of applications. These applications are generally more difficult to comprehend than the applications scripts offer (though they can get pretty complex as well).
One thing that is true however is the fact that in scripts, or higher level programming languages it's easier to put something useful together.
A classmate says that he can type in the entire structure of a C# class with constructor stub and everything in 3 key strokes (using the features of Visual Studios that is) and a complete calculator interface in 10 (he does use all the optimalisation features and the calculator isn't responsive yet, adding listeners takes him a little longer).
I wouldn't be able to do all that in C as quickly, but I'll get there in a short time. On the other hand, I C is capable of things that are impossible in C# since the ease of programming always comes at a cost of power.
The person in question wants to build software for Linux and asks us what the best tool is.
I think the answer I gave before is pretty much useless for his question, so here is a better answer:
If you want to do things quickly and easily, go for some powerful script such as Perl or Python. Java could be a good choice as well in this case. C# would also be a possibility but I don't know the current status of the Mono project.
If you need to do something more advanced or in which speed is of the essence, go for languages like C/C++ and is speed is absolutely required, you might even consider using some assembly every now and then. I don't know any other programming language that might offer you the power and speed which C/C++ and assembly will give you.
So it basically boils down to this. When not developing a server, part of the operating system, software development tools, multimedia tools or games, it is just fine to do some scripting or use Java or C# (even though I know at least one good music player running in Mono).
- 07-15-2011 #8Just Joined!
- Join Date
- Jul 2011
- Posts
- 4
Well, I mean I was coming from personal experience - it took me a long time to get my head around the pointers and memory stuff which inevitably left me in the dark for a long time with C/++ because I just couldnt declare variables properly, hence a longer period until I could actually be writing useful applications.
The good thing about linux is it tends to come with Python/Perl already installed, so unlike windows any users you distribute to generally dont have to install an interpreter (this is a general rule, not always true), but you can always set it as a dependency in your package!
- 07-15-2011 #9
People indeed seem to have a lot of issues with pointers, but they are also encountered in for example Java or C#.
This java code defines a pointer:
ArrayList<E> list = new ArrayList<E>();
This is what it would be in C++, if a type ArrayList had already been defined.
ArrayList<E> list = ArrayList<E>(); // only constructor is called, variable is defined in image or when function starts
And this will work but won't be dynamic.
More general would be the syntax:
ArrayList <E> *list = new ArrayList<E>(); // only pointer variable is declared statically and memory is allocated.
Pointers aren't that difficult. All that's needed is someone who can explain them properly, and not just describe the effects of different syntaxes.
But the answer still is, the more user oriented you get, the higher the language, games excluded as they have speed requirements (though Minecraft does an exceptionally good job, but it still has native system code).


1Likes
Reply With Quote
