Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 35

Thread: Best Coding Language for programming Linux apps

  1. #21
    Join Date
    Dec 2007
    Location
    Birmingham, UK
    Beans
    Hidden!
    Distro
    Ubuntu Development Release

    Re: Best Coding Language for programming Linux apps

    This thread might all be a lot for OP to take in all at once so to hopefully simplify it.

    Java, C# and Python all high level with GC so you don't have to worry about memory leaks as such.

    C and C++ while being good to know, do have a larger learning curve, whiles rewarding in the long run can be made simpler by learning a high level language first and understanding the principles of programming and moving on-wards and up-wards.

    I would suggest investing in a beginners C# book (as it's what you've already started playing around with) and giving it a crack and working though it.

    No matter which you choose once you have one under your belt though it will become a lot simpler to move to another in the future.


  2. #22
    Join Date
    Feb 2012
    Beans
    2

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by r-senior View Post
    The most common programming languages for Ubuntu and GNU/Linux generally are C and Python. Both are good general purpose languages for terminal-based software. C lends itself better to low-level "system" programming. Python is a higher-level object-oriented language and coding can be easier and more productive.

    I'd suggest you try both of these two and also learn some basic Bash scripting, which often comes in handy.
    Personally, i think C, although historically valuable, is just that... Old history. My suggestion is to learn C++ since it is widely supported by compilers and is relatively easy as far as syntax and code structure go...

  3. #23

    Re: Best Coding Language for programming Linux apps

    Okay, I'm going to defend one point and apologize for one point, then I'm going to let this die.

    Quote Originally Posted by Simian Man
    If you think Java is "an enormous language", then you know nothing about programming languages.
    Okay, my mistake. The Java language is, as you say, of quite reasonable size. It's probably... oh, 1.5x to twice as "big" as C, syntactically speaking. But much like C, you can't really claim to write Java unless you're familiar with at least a subset of the standard library. And very unlike C, the part of Java's standard library that you need to know to not be totally useless as a programmer is pretty darn big.

    Don't create a false impression. C# was created by Microsoft, but is is an open standard and the Mono implementation is open source, mature and very good.
    My mistake again. I'm remembering when Mono was incomplete and unstable, wasn't aware how much had changed.

  4. #24
    Join Date
    Jun 2007
    Location
    Canada
    Beans
    368
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by Rcihard Arnold View Post
    Personally, i think C, although historically valuable, is just that... Old history. My suggestion is to learn C++ since it is widely supported by compilers and is relatively easy as far as syntax and code structure go...
    C is surprisingly important for a lot of things. If you ever work with embedded systems you can't get away from it. The Linux kernel is written in C. And C has been popular enough over the years that it has enormous quantities of third-party libraries that will do pretty much anything you could want to do from high-performance mathematics to graphics to neural networks to file i/o. And the beauty is that you can use those C libraries *inside* C++ programs, provided you know how to write and use C code.

    I would not suggest C as a starting language for anyone, but it is good to learn at some point because if you do enough programming you will run into it eventually.
    GCS/O d+(-@) s: a-->? C(++) UL P+ L+++@ E@
    W++$ N++ !o K++ w(++) !O M(-) !V PS+(++)
    PE-() Y+ PGP++ t++(+++@)* 5++ X++@ R+++@
    tv+ b++(+++) DI++ D+ G+ e++>++++ h- r y?

  5. #25
    Join Date
    Jan 2008
    Beans
    1,534

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by ve4cib View Post
    C++ with QtCreator is pretty nice for doing GUI programs. Most of the really hard/annoying parts of laying out the GUI is done via a Visual Studio-style GUI builder. Yes, there's the memory management issue to consider. And that is a major factor for a lot of people. Personally, I've done enough C++ that I'm comfortable with it, which is why I included it as a possible candidate for GUI applications. It wouldn't be my first recommendation to most people, but it is a viable option that deserves mentioning.
    You're right that C++ has been made to be pretty decent for GUIs by good tools, and there are often other advantages such as integration with other libraries or code bases. Still if I didn't need to choose C++ for one of those reasons, I'd much rather do Python or C# for GUI work.

    Quote Originally Posted by trent.josephsen View Post
    Okay, my mistake. The Java language is, as you say, of quite reasonable size. It's probably... oh, 1.5x to twice as "big" as C, syntactically speaking. But much like C, you can't really claim to write Java unless you're familiar with at least a subset of the standard library. And very unlike C, the part of Java's standard library that you need to know to not be totally useless as a programmer is pretty darn big.
    Well the thing is that to write useful C programs, you need to use the standard library, plus a bunch of other libraries for the domain you're working with. If you're writing network code, you need BSD sockets, if you're doing database stuff you need a database library, if you need a GUI you learn GTK+. If you need threads, you have to use pthreads, and on and on. You also need a library (or to roll your own) for any data structures other than arrays.

    To write useful programs in C, you need to learn at least as much as you would for Java. Worse the documentation for the libraries you'll need is all separate and they won't follow the same conventions. Likewise to write toy programs in Java, you don't need to learn more than you would for C.

    However, I don't personally like to use either C or Java because neither gives you a very good set of abstractions. Don't mistake me for a Java fan .

  6. #26
    Join Date
    Jun 2007
    Location
    Canada
    Beans
    368
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by Simian Man View Post
    You're right that C++ has been made to be pretty decent for GUIs by good tools, and there are often other advantages such as integration with other libraries or code bases. Still if I didn't need to choose C++ for one of those reasons, I'd much rather do Python or C# for GUI work.
    Same here. I think I've written all of 2 GUI programs in C++, and one of them was cross-compiled for Maemo. Most of the GUI programs I've done have been in C# (+GTK#), with a handful done in Python (Tk mostly).
    GCS/O d+(-@) s: a-->? C(++) UL P+ L+++@ E@
    W++$ N++ !o K++ w(++) !O M(-) !V PS+(++)
    PE-() Y+ PGP++ t++(+++@)* 5++ X++@ R+++@
    tv+ b++(+++) DI++ D+ G+ e++>++++ h- r y?

  7. #27
    Join Date
    Jan 2008
    Beans
    184

    Re: Best Coding Language for programming Linux apps

    Well, imho, the best path one can take begins with Python. You learn the basics, get into OOP, and most importantly, it's traditional, fully documented, has lots of libraries you can use, and last but not least, there are plenty free top quality tools for debugging and coding. The fact is that the best platform for Python programming is Linux.

    The problem with C++ is that it's very hard to program in Linux, if you're a beginner, it's kinda okay, because you don't need advanced tools, etc.. However, when it comes to professional programming, the productivity is bad.

    For C++ programming, the best environment for productivity is by far the Microsoft's one. It's hard to admit, and most Linux users will never, but MSVC++ -plus those assistance plugins and debugger- is much better than any other C++ programming environment.

    Linux really needs some C++ development tool as seen on Windows. It's a pity it doesn't have, and the ones it has are all evolving slowly, and always some steps behind MS. Examples are NetBeans, although slow, it has some quite neat features, the development seems to have stalled some time ago though; Eclipse also has some initial features, nothing advanced at all; Some minor IDEs like QtCreator, C::B, CodeLite, etc. also have some features.

    The problem is that people are always reinventing the wheel. If they joined forces to make a single decent C++ IDE for Linux, instead of making dozens of useless ones, they would have something significant already.

    Not to tell that GCC G++ is lagging behind the competition, and GDB has some genial features but doesn't have the most important things to actually help the programmer.

    So, if you want to learn a language to become a "pro", learn Python, in a couple of years you'll be able to write an entire program with GUI and database without a single testrun.

    If you want to become a C++ pro however, you will need to either ignore that the tool you're using is obsolete, or change the platform. That's why I'm not euphoric about C++ programming in Linux, cause I always want to use the best tool available for production, and this tool is not available for Linux in case of C++.

  8. #28
    Join Date
    Jun 2009
    Beans
    355

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by Repgahroll View Post
    Not to tell that GCC G++ is lagging behind the competition, and GDB has some genial features but doesn't have the most important things to actually help the programmer.
    Doesn't have the most important things to help a programmer? GDB has been instrumental in helping me understand massive code bases.

  9. #29
    Join Date
    Jun 2007
    Location
    Canada
    Beans
    368
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by Repgahroll View Post
    The problem with C++ is that it's very hard to program in Linux, if you're a beginner, it's kinda okay, because you don't need advanced tools, etc.. However, when it comes to professional programming, the productivity is bad.
    I'm doing my master's in CS and spend the majority of every day writing C++ code for Linux. I don't know if it gets much more "advanced" than that (well, maybe PhD level research...). What are these "advanced tools" of which you speak? Debuggers? Intellisense? Please, enlighten me as to what I have been missing.

    For C++ programming, the best environment for productivity is by far the Microsoft's one. It's hard to admit, and most Linux users will never, but MSVC++ -plus those assistance plugins and debugger- is much better than any other C++ programming environment.
    Really? I've only used MSVC++ a few times, but I never found it terribly good. It kept throwing cryptic errors at me and took me far longer to debug anything that it ever did on a Linux system.

    Microsoft dev tools for C# and VB (namely Visual Studio) are fantastic! But I'm definitely not sold on their C++ tools. I think I'd rather use GCC or G++ and Cygwin than fight with MSVC++ again.

    Linux really needs some C++ development tool as seen on Windows. It's a pity it doesn't have, and the ones it has are all evolving slowly, and always some steps behind MS. Examples are NetBeans, although slow, it has some quite neat features, the development seems to have stalled some time ago though; Eclipse also has some initial features, nothing advanced at all; Some minor IDEs like QtCreator, C::B, CodeLite, etc. also have some features.

    The problem is that people are always reinventing the wheel. If they joined forces to make a single decent C++ IDE for Linux, instead of making dozens of useless ones, they would have something significant already.
    I half agree with you there. Having Linux dev tools like Visual Studio for *any* language would be great. But to call QtCreator, CodeBlocks, Eclipse, and Netbeans "useless" is a pretty gross exaggeration. You are aware that Eclipse is used heavily in the professional world for development? No, the Linux IDEs are not as polished as VS, but they're pretty good and get the job done very well.

    Not to tell that GCC G++ is lagging behind the competition, and GDB has some genial features but doesn't have the most important things to actually help the programmer.
    Again, how about some specifics? What exactly are GCC, G++, and GDB missing? What are these "most important things to actually help a programmer?" You like to use hyperboles, and then you never back them up with anything.

    If you want to become a C++ pro however, you will need to either ignore that the tool you're using is obsolete, or change the platform. That's why I'm not euphoric about C++ programming in Linux, cause I always want to use the best tool available for production, and this tool is not available for Linux in case of C++.
    Or you could learn to use the tools available (GCC is pretty much the de-facto standard C compiler -- hardly what I would call "obsolete"). C++ is a *language* not an IDE, and not a compiler. You can learn the language using whatever tools you want. In fact, learning C++ by using a basic text editor and a command-line compiler might teach you *more* about C++ than you would learn using a giant IDE that silently corrects your mistakes.
    GCS/O d+(-@) s: a-->? C(++) UL P+ L+++@ E@
    W++$ N++ !o K++ w(++) !O M(-) !V PS+(++)
    PE-() Y+ PGP++ t++(+++@)* 5++ X++@ R+++@
    tv+ b++(+++) DI++ D+ G+ e++>++++ h- r y?

  10. #30
    Join Date
    Jun 2007
    Location
    Porirua, New Zealand
    Beans
    Hidden!
    Distro
    Ubuntu

    Re: Best Coding Language for programming Linux apps

    *aside*
    I think I have only ever made one GUI program using C++, and note that (a) it was for Windows 98SE, (b) a significant portion of the code looked more like C than C++, (c) it was made with Borland's C++ Builder, and (d) it wasn't particularly well done. If I were to attempt a similar project these days I'd probably do it differently.
    *aside ends*
    Forum DOs and DON'Ts
    Never assume that information you find using a search engine is up-to-date.
    Please use CODE tags.
    A low-volume blog

Page 3 of 4 FirstFirst 1234 LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •