ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Why not start writing small gui apps using Java so they can be used on any platform? It's a good language to learn, teaches good concepts and I like the fact that I can just download an application and run it on linux or windows (when it's done right).
Originally posted by elist Why not start writing small gui apps using Java so they can be used on any platform? It's a good language to learn, teaches good concepts and I like the fact that I can just download an application and run it on linux or windows (when it's done right).
]
why not? cos swing is horrible! i personally avoid java programs at all costs. hogs memory and goes wrong hell of a lot. if i want to use a certain program, i find a proper version in C or whatever, using a decent gui toolkit. just my opinion of course.
whilst swing is a very well designed toolkit, and is logical to program in, i think gtk certainly rivals it in tems of power.
as far as portability goes, it'll be interesting to see what the first wave of .NET apps can do, by all acounts it'll make java redundant, whilst C and such will continue to have lotrs of applications at lower levels, as well as the high level ones too.
.NET will just end up like VB - you'll have just about anyone doing it, it won't be a complete solution and you'll need to use other tools to fill in the gaps.
I've not done any work gui work with C, it's all been logic processing, yes it is good for that, but in my opinion the power of it causes it to be a good waste of development time and money. I don't think Java will become redundant because of .NET and with the uptake and investment business have made in web components using EJB's backside, this will support it. This backend framework is just too good. Swing can be a hassle and may have some performance problems, but these are almost gone - recently I've used applications that are really nice, it takes some convincing they are Java.
Take in mind that my comments are based on building business applications, not just software tools, where other things will surely be better.
Whatever technology best does the job you need to do the job will be best, Forte, Java, C, Perl, korn shell scripting..
There is really good evidence to suggest that companies should not write programming languages.
Creeping featurism ('Feeping creaturism') is the only word really needed to justify this generalisation. Java is the incarnation of taking a bit of this and a bit of that and ending up with compromise.
'Cross platform' is a sliding scale not an absolute.
C programs were the first 'cross platform' programs. Wine relies on this.
You have a quite a options. A large number of windowing toolkits have support for Linux. Ultimately, it comes down to what language you want to work with.
Mozilla - Uses javascript. This is probably for the adventurous for now, but uses mozilla you can create apps with javascript and the XML markup language, XUL. Nice but beta for now
Perl/TK - Write GUI apps in perl. http://perltk.org/
Python/TK - Write GUI apps in python http://python.org/
Tcl/TK -
perl/GTK - perl GTK bindings, write GTK applications in PERL
There are many others.
But think of at least these...
(i) What language do you what to work with?
(ii) Do you want this program to run on many platforms? UNIX and Windows?
(iii) Does the GUI have to be pretty? Themeable?
My opinions...
WxWindows, Java, and most of the scriptting languages shine in terms of cross-platform support. Not that the others aren't cross platform.
Scripting languages excel in terms of ease of use. There's no memory management, etc to deal with.
Anything with a name with "/TK" in my mind is ugly. They all uses motif style widgets, which are horrible. lesstiff and motif hence are also look repulsive.
If you can get away with working with a scripting language, then do it.
the reason i ask is that ive come to a decision fork i the road..what path to take for my cis degree... programming and devloping or networking... personally i wish i could do both but i really feel like to have a real job ill need to do the hard stuff: programming
Originally posted by Chijtska the reason i ask is that ive come to a decision fork i the road..what path to take for my cis degree... programming and devloping or networking... personally i wish i could do both but i really feel like to have a real job ill need to do the hard stuff: programming
Ah, the real question... It always boils down to programming or something else; networks, admin, testing, etc..
Take some sage advice from an old-timer. All of those jobs will involve programming at some level and if you have learned good program design and implementation principles, it will definitely help in any of those career choices. I'm not talking about designing and implementing large applications, I'm talking about designing a program to accomplish a task. It might be a 3 line shell script or a 10,000 line log analysis program.
Learn to program. And if you never write a line of code, it will help you understand the tools that you work with.
Thanks for the advice... you can often tell a difference between the students who follow the network only path. I have asked them why they chose networking and they often but not always will say the programming stuff was too hard (taking the path of least resistance).
Right now, I already have a Net+ certification and hopefully that will give me some credibility as far as that goes...
I still have the strong desire to know what makes Linux and most of the apps written for it tick. The reason is I really have this feeling that once businesses see (and they will, I have no doubt) how much less expensive and more reliable than the microsft products out there now, they will have no choice...
Captitalism operating philosophies (and good old common sense) say that if I can find a man to do what someone else is doing and better--plus, the bonus that he will work for less money--then I will have no choice but to go with him regradless of whether I feel comfortable with his ways. Results are all that matters and for good reason.
True, some won't take advantage and they will either sink or barely keep afloat.
Originally posted by Malicious
Take some sage advice from an old-timer. All of those jobs will involve programming at some level and if you have learned good program design and implementation principles, it will definitely help in any of those career choices.
This is *so* true. I keep telling students that and they look at me like I'm crazy.
No matter what field of computer science you take, learn the principles of programming. Learning a language or two relevant to your area is even better.
I'm a network admin right now, and we're using perl scripts to poll routers for SNMP info, for stuff like IP conflicts, etc. These scripts aren't difficult at all, but make the task a lot easier.
In system administration we've used thousands of lines of scripts to tie services that don't want to speak to each other, etc.
Even if you don't program directly, you may need an understanding of programming to figure out why a system is malfunctioning.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.