Page 4 of 4 FirstFirst ... 234
Results 31 to 35 of 35

Thread: Best Coding Language for programming Linux apps

  1. #31
    Join Date
    Jan 2008
    Beans
    184

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by JDShu View Post
    Doesn't have the most important things to help a programmer? GDB has been instrumental in helping me understand massive code bases.
    Quote Originally Posted by ve4cib View Post
    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.
    In fact I was being exaggerated . Some useful features that GDB doesn't have are the ability to edit the code during the execution - this is fantastic imho because it's like debugging a script, and things like showing the variables values in source, and proper code navigation (jumping to definitions, etc.) are little things that actually increase productivity in my case. The thing is totally integrated into the IDE to provide the best visual feedback. Although GDB is pretty good and have some cool features, I just don't find them that important, I think my priorities are just different. GDB is still a good competitor here, though lagging behind imho.

    MS compiler generates much better binaries imho - (according to my experience) it compiles dramatically faster (kinda 3-4x), the generated binary tends to be "much" faster (like 15%) and a little bit smaller also (like 20%). So, imho it generates better binaries overall, and I think one can find plenty of benchmarks that backup my experience here.


    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.
    I never found a single undecipherable error in MSVC, although I agree that GDB text feedback is better.


    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.
    I'm aware that Eclipse is used professionally for Java development, however, I don't know a single professional that uses Eclipse CDT as its main C++ development environment.
    In fact, 99% of all C++ professionals that I know uses MSVC for C++ development - there's one guy that uses Anjuta.

    The most important tool Linux needs is a decent and modern C++ IDE. Forget the other languages.

    I don't know C#, but once i fired up Visual Studio, looked a basic C# example (in wikipedia i think) and i managed to make a nice graphical calculator in a matter of 30 minutes. Not even in Python someone can achieve this kind of ease and productivity on Linux, first you have to choose either tkinter which is extremely simple and ugly or something like Qt which has a nice designer, then you need to learn the basics of Python itself, learn QtDesigner, design, convert, edit, if you made mistakes, have to go back and convert again. It takes at least 30+ hours to produce your first graphical calculator in Python if you have only C++/Java experience. Not to tell that the performance is like 300 times slower than C# on Windows, it may not run on other distros, because some have Python v3, some v2, almost certainly it will be necessary to install dependencies, and the list goes on.

    On Windows, you just fire up MSVS, click, click, code, click, and ta-daam: You end up with a 'binary' that will look consistent and will run properly on practically every windows install, and even better, the user (in most cases) will not even know that you are a completely noob and programmed using a beginner's language.

    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.
    Of course, and for learning I recommend a text editor with a good syntax highlighting (maybe basic autocompletion also).

    --

    On Windows, as a C++ programmer, i feel "welcome", it's like going to a place where people help you, if you made a mistake, just try again, it's simple and easy, it will help you to do everything, and I don't think the suggestions are evil, because they actually help me to code faster and better, using less brainpower .

    On Linux, it's like military school, if you don't have the basics, which are pretty high already, you don't even begin, you're not welcome, you have no friends, no one will help you, you need focus 100% of the time, because the entire thing has to be in your head, stop a minute and you will get lost.

    Even worse, Linux 'commanders' seems to be assuming that we need more advanced tools, we don't even have basic visual feedback, but we need an ultra-advanced programmable debugger, we don't have shoes to walk, but we need a spacecraft.

    I'm telling you guys this is wrong! Bring the noobies! Make tools that allow people to begin producing simple programs easily, make them like the Linux, some of them will eventually become programmers and will take the tools to a higher level. I thought this is what open source was about. Now i see that it's becoming an exclusivist group of people that learned the hard way something different.


    An over-exaggerated analogy:

    We're visiting friends on the other side of the city, your options are:

    Windows: Bicycle, Car, Bus, Airplane
    Linux: You can choose one of the 100 models of square-wheel bicycles, or you can enter the space program and begin to learn how to pilot a spacecraft.

    Man! Lemme use a car or a bus, lemme achieve my current objective and if I ever need to go to the moon, then I'll make a spacecraft. It's another problem.

    It's like thinking about colonizing mars when we don't even live properly here on earth. It's a nonsense, you solve the problems when they comes up, not target the problems that seems to be ahead, if you can't even reach them.

    --

    Sorry if i sounded rude or something. I just think that the open source community is so chaotic and unorganized, it's extremely divided, a lot of capable people are just losing their time developing things that will never get any attention.

    We have dozens of major distros, hundreds of forks, and thousands of "unnofficial" sub-versions, and almost every version has its own peculiarity, and it's not only a collection of softwares, any decent distro has its own scripts.

    We have dozens or hundreds of options for almost everything, the problem is that their quality varies dramatically, and almost always the best one isn't good as the middle-quality proprietary option.

    If there were a kind of artificial intelligent software merger, then we would have the best softwares ever, because it would merge all the 78921323 distros and make a single very user-friendly one that runs on any hardware and installs any prepacked software. Merge the 789343 office suites and make a single decent one. All the 7893213 C++ IDEs, all the Debuggers, Compilers, etc...

    Sum the features of all opensource vector drawing tools, and you'll end up with a list that surpasses the best proprietary software, the difference is that it's one software, very tested thus stable, against tens of unstable and used-only-by-its-creator softwares.

    --

    Its a matter of Divide and Conquer: Go on Microsoft, we did you a favor and divided ourselves as an effect of our selfish behaviour. Now you just have to conquer. - [facepalm] Ouch... forget that, for a moment I forgot that you've already conquered the entire world and now is just fighting some reminiscent diehards.

  2. #32
    Join Date
    Aug 2011
    Location
    47°9′S 126°43W
    Beans
    1,792
    Distro
    Kubuntu 12.10 Quantal Quetzal

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by Repgahroll View Post
    On Windows, you just fire up MSVS, click, click, code, click, and ta-daam: You end up with a 'binary' that will look consistent and will run properly on practically every windows install, and even better, the user (in most cases) will not even know that you are a completely noob and programmed using a beginner's language.
    Working code isn't automatically good code. VS only helps producing noob code faster.

    I'm currently trying to "enhance" a piece of VB written by a former project manager who was very proud of it. I'm very glad this code is only used for project management and not part of the real code.

  3. #33
    Join Date
    Apr 2011
    Beans
    59
    Distro
    Ubuntu 13.10 Saucy Salamander

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by ve4cib View Post
    Personally I think C# is a lot cleaner than Java, and has some really nice features I wish Java had. Things like iterators for for-loops:

    C#:
    Code:
    String[] someStrings = { /*stuff here*/ };
    for(String s in someStrings)
        doSomethingWithEachString(s);
    versus Java:
    Code:
    String[] someStrings = { /*stuff here*/ };
    for(int i=0; i<someStrings.length; i++)
        doSomethingWithEachString(someStrings[i]);
    It's a minor difference, but the C# version is more intuitive to me.
    Actually there are iterators in Java:

    Code:
    String[] someStrings = { /*stuff here*/ };
    for(String s : someStrings){
        doSomethingWithEachString(s);
    }
    And for Linux console applications, I would recommend bash. It is much more powerful than Microsoft's batch and you can even create basic GUIs (using Zenity).

    No to watch slews of protest about why you shouldn't use bash.
    Last edited by brpylko; February 10th, 2012 at 04:11 PM. Reason: Fixed mistake
    You are trapped in a room without windows, how do you get out?
    Tilt screen back for answer >>>install Linux through a backdoor.<<<

  4. #34
    Join Date
    Jan 2008
    Beans
    1,534

    Re: Best Coding Language for programming Linux apps

    Quote Originally Posted by Repgahroll View Post
    In fact I was being exaggerated . Some useful features that GDB doesn't have are the ability to edit the code during the execution - this is fantastic imho because it's like debugging a script, and things like showing the variables values in source, and proper code navigation (jumping to definitions, etc.) are little things that actually increase productivity in my case. The thing is totally integrated into the IDE to provide the best visual feedback. Although GDB is pretty good and have some cool features, I just don't find them that important, I think my priorities are just different. GDB is still a good competitor here, though lagging behind imho.
    Being able to edit your code while it's being debugged is pretty cool. I didn't know the MS debugger could do that. But gdb and ddd can do all of the other things you mentioned. You can jump to any function or line in any file and show the values of all variables. ddd in particular is fantastic at displaying linked data structures in its graph area. I've never seen another debugger do that as well. gdb and ddd also allow you to call arbitrary functions in your program while it's being debugged. This is great for displaying complex data structures during debugging or testing complicated invariants etc. I don't think the MS C++ debugger can do that. I also *love* the fact that ddd gives you the command window (with full tab completion) of gdb directly. When I was a beginner, I mostly used the GUI, but I'm far more productive with the console. I use the debugger *a lot* and ddd is the most productive one I've ever used - though the motif interface is incredibly ugly.


    Quote Originally Posted by Repgahroll View Post
    MS compiler generates much better binaries imho - (according to my experience) it compiles dramatically faster (kinda 3-4x), the generated binary tends to be "much" faster (like 15%) and a little bit smaller also (like 20%). So, imho it generates better binaries overall, and I think one can find plenty of benchmarks that backup my experience here.
    It is a little better, but there's no way it's even close to the numbers you made up. I'd say in the neighborhood of 5% better code or so. And if it's 3-4X faster, then your gcc build process is horribly inefficient.


    Quote Originally Posted by Repgahroll View Post
    I never found a single undecipherable error in MSVC, although I agree that GDB text feedback is better.
    Really? You've never had the dreaded "Internal Compiler Error"? Gcc has much better compiler errors, though once you get into advanced template expansions, both compilers suck .

    I'm not going to comment on the rest of what you said because it's all just bad analogies, hyperbole and made up "statistics".

  5. #35
    Join Date
    Nov 2007
    Location
    London, England
    Beans
    5,421
    Distro
    Xubuntu 14.04 Trusty Tahr

    Re: Best Coding Language for programming Linux apps

    I'm going to have to go for more popcorn soon.

Page 4 of 4 FirstFirst ... 234

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
  •