Closed Thread
Results 1 to 8 of 8

Thread: Entering the programming world, using Linux.

  1. #1
    Jadon is offline Newbie
    Join Date
    Feb 2010
    Location
    Dallas, Texas
    Posts
    6
    Rep Power
    0

    Entering the programming world, using Linux.

    I'm using Ubuntu right now for the first time, getting the hang of things. A bit more complicated then windows, but much more complex and useful.

    I've visited a few other sites, trying to find out the best programming language for a beginner that would teach me a few basics to move onto other ones in the future. A lot have said Java.

    I've worked with HTML/CSS for a few years and web development, but I want to move onto some real programming out of interest. I'm in high school, and taking all available computer courses I can. I'm in one web mastering-course that will be moving from web development to Java next year.

    So far, I've been using gedit Text Editor that comes with ubuntu, and the terminal for compile whatever i write in java. (So far only the HelloWorldApp)

    So I'm asking for any suggestions on useful text editors, development kits, ect for linux. Any help is greatly appreciated. Glad to be a part of this community.

  2. CODECALL Circuit advertisement
    Join Date
    Always
    Location
    Advertising world
    Posts
    Many

     
  3. #2
    QuackWare is offline Learning Programmer
    Join Date
    Jan 2010
    Posts
    95
    Rep Power
    8

    Re: Entering the programming world, using Linux.

    Get Eclipse for Linux

    Eclipse Downloads

    Will be SO much better then a text editor and command line compiling.

  4. #3
    saeras's Avatar
    saeras is offline Learning Programmer
    Join Date
    Jan 2010
    Location
    Sweden
    Posts
    67
    Rep Power
    8

    Re: Entering the programming world, using Linux.

    Using vim as a python IDE atm so after some searching on applying this to Java i found this rather interesting project that might be worth checking out.

  5. #4
    Join Date
    Jul 2009
    Location
    Santa Clarita, CA
    Posts
    2,111
    Blog Entries
    47
    Rep Power
    31

    Re: Entering the programming world, using Linux.

    So you've decided to take the plunge into learning programming, and it appears that you've chosen Java as the first language you'll learn. First off I'd like to commend you for your choice of using gEdit and a terminal compiler to compile your programs, it's how you should learn (please do NOT take QuackWare's suggestion yet, Eclipse is for when you're ready to produce production software using Java, and as an environment provides many niceties. Do NOT learn to rely on them). However, if I told you that I think that Java is not a good language to start with, would that mean I'd be in opposition with what others have told you?

    Since that's the case, I'm most definitely in opposition. Java is, in my opinion, not a great choice to go with to learn programming, mostly because it's extremely Object-Oriented and requires a good amount of knowledge about the abstractions OOP makes. I've given considerable thought into what language I'd recommend someone learns first when they jump into programming, and I've bounced back and forth between Python, C, and a functional language like Lisp or Haskell. The question is how beneficial high-level abstractions are, or if they are more beneficial than detrimental, since a high-level language abstracts you from how the hardware will actually perform the calculations.

    At this moment, I believe that the abstractions are genuinely more beneficial than detrimental, and for very good reason. Programming is about more than thinking about how a computer performs a series of computations, programming involves software design, which in all honest takes precedence to learning about minor efficiencies. Understanding how the hardware does something is not as challenging as learning about program design and the necessary abstractions we, as programmers, have designed, so if you go into it thinking from a low-level you'll end up viewing all of these abstractions as superfluous extravagance, or impossibly constricting and illogical paradigms that get in your way from making a better set of algorithms. The thing is, in software design, the individual algorithms are of a far less significant importance when compared to learning how an overall design is built, and the abstractions are indispensable when considering how a program is made.

    So, my current recommendation is not Java, instead it is Python. Python will teach you how to use the abstractions, but will also teach you from the ground up in easier to understand methods. It's easy to understand what "print" means, but not so much "System.out.println". System.out.println has considerably more going on, the "System" object is a static singleton object that represents and abstraction of the computer system itself, "out" is another abstraction object that refers to a character data stream, called a PrintStream, specifically that affects stdout. "println" is a method of the PrintStream object that will place the characters in the passed String object (A string object is created when you use double quotes) and place that row of characters into the stream (stdout). That's a lot going on.

    Python's "print" does the same thing, more or less, but it's implementation isn't a consideration to the programmer, nor should it be. In Python, very little gets in the way of you just doing what you need to do, so I really recommend going with that route first. There will be those here that disagree with me and would suggest C, and I wouldn't be opposed to you choosing C as your first language because it offers very little in the way of abstraction so you'll end up learning a lot more about what is going on in the background when you do it that way. Nonetheless I currently see abstractions as better for facilitating education than as inhibitors, so that's what I say.
    Wow I changed my sig!

  6. #5
    Join Date
    Jul 2006
    Posts
    16,491
    Blog Entries
    75
    Rep Power
    143

    Re: Entering the programming world, using Linux.

    I'm partial to jEdit myself.
    Programming is a branch of mathematics.
    My CodeCall Blog | My Personal Blog

  7. #6
    QuackWare is offline Learning Programmer
    Join Date
    Jan 2010
    Posts
    95
    Rep Power
    8

    Re: Entering the programming world, using Linux.

    Thats a nice post ZekeDragon. The only reason I stuck with his suggestion in using Java is that OOP is always a good idea to learn as more and more languages are objects and the functionality that comes with it. I also assume that because Jadon is pursuing computer courses in high school and if he intends on pursuing a higher education he is going to take Computer Science classes in college, where he will learn about OOP and the fact that Computer Science is much more than simply writing code.

    The reason I recomended Eclipse to him is that he shows already that he is able to compile and run java programs from the command line, so why prevent him from using such a great tool as Eclipse? I can understand that people might become to reliant on the Intelisense, but it still requires that you understand all the concepts of Java and actually makes learning easier since you can see all the methods/classes/etc that are available to you at any given time without having to think to yourself about scope and access privileges.

    Judging by your post you know a lot more about CS and programming than Jadon or I and I am sure your long explanation into the reasoning of using Python would fly over the heads of a lot of readers. Regardless of all that, Jadon just play around with different languages and see which ones fit you best. If you do persue a higher study in CS, be prepared to be forced to learn different concepts though, including OOP.

  8. #7
    agnl666's Avatar
    agnl666 is offline Programmer
    Join Date
    Feb 2010
    Location
    Halifax
    Posts
    163
    Blog Entries
    2
    Rep Power
    0

    Re: Entering the programming world, using Linux.

    I'm actually starting out programming and I'm learning Java. It is complicated trying to understand why commands must be written the way they are and the way it relates to the processes the computer conducts though I think if I/you learn Java to start out with, then if you or I want to move onto python, C, or any other language it will be much easier to more to.

  9. #8
    Jadon is offline Newbie
    Join Date
    Feb 2010
    Location
    Dallas, Texas
    Posts
    6
    Rep Power
    0

    Re: Entering the programming world, using Linux.

    Surprised and pleased with the responses I am getting. =)
    Thanks to everyone who replied, I'm really finding this helpful and informative.

    ZekeDragon, first of all, when I was decided which programming language to start with, my final choices were Python, C, or Java. I wasn't quite sure what to get into, so I just started Java to see what it was like. So far, like you mentioned, I've been presented with System.out.println. Seems like a lot of useless code to do something as simple as printing a word. But others would argue that it gets me in the habit of understanding exactly what my code is doing, even if I could get the same result another way. But shouldn't that set a difference between codes? Wouldn't I rather have less lines of code to do the same thing as another language? That sounds nice.

    I've heard a lot of good things about Python, and think I'm going to drop Java for now and jump into Python. Like QuackWare mentioned, I think I should jump around and find one that I'm most comfortable with. I'll have to be used to switching to different languages depending on what I'm working on in the future.

    Thank you QuackWare for suggested Eclipse, I'll look into that and give it a try.

    I'm just going to start by trying a lot of different things, find one I'm partial too, and learn that one. Hopefully, I can move onto others later.

    As for education, I'm in HS right now, about to jump into college-credit classes and have my associates when I graduate HS. As for college, I'm wondering what I should major in. From what I understand, most employed programmers have a bachelor's in Computer Science.

Closed Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Newbie entering into programming...
    By jeffrusso in forum General Programming
    Replies: 12
    Last Post: 11-24-2008, 12:45 PM

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