Learning a programming language, but what one?

  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 8:47 AM GMT
    I've always wanted to improve my programming skills, and have been futher inspired by code.org. I know barebones html and some MATLAB, but nothing that's a really core-language. What do people recommend I learn with the way the tech-world works today?
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 9:05 AM GMT
    Depends on why you want to learn, and what you plan to do with it. A lot of websites are PHP driven. So maybe start with that. But if you're looking to learn a new language for career growth, maybe learn Java or Python.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 9:36 AM GMT
    It depends on what you want to do but Java could be a good place to start. It's a very high-level language (meaning it hides a lot of the difficult stuff for you, more or less) and based entirely around the object-oriented design paradigm which makes it user-friendly and easier to pick up for a beginner than C or C++ (which over the years have had OOP features added to them but aren't OOP oriented at their core). It's also (somewhat) related to those languages so after you learn Java, C and C++ will be a bit less intimidating.

    If you already know HTML though, maybe learn JavaScript which is a scripting language that can be used directly with HTML and allows you to do a lot more stuff. It's also relatively straightforward to use too and there are a lot of tutorials on the web.

    You can PM me if you want to know more, I'm graduating school this year with a degree in computer science so I know a lot about this stuff.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 3:04 PM GMT
    C# or Java if you are seeking to learn a programming language rigorously. R if your field is in statistics.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 3:08 PM GMT
    I am developing a programming component to our school's computer degrees. I am being told Python would be your best choice.

    While on this subject. I am teaching an introduction to programming class this fall. I am being told Alice is the best tool to teach basic programming logic. Have any of you learned on Alic?

    Thanks.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 3:48 PM GMT
    HTML is not a programming language btw it is a mark-up language that merely serves for semantic purposes like all mark-up languages. Learning a programming language will take some dedication, and lots of time. It really doesnt matter which language you choose as long as you understand the basics.

    Once you are familiar with terms such as heap, stack, pointers, recursion, polymorphism and introspection only then you can call yourself a programmer.


    Python can be a good starting point for beginners but you will need some exposure to languages such as C and Java to understand low level and high level programming. Also you should know the difference between programming languages and scripting languages.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 4:02 PM GMT
    I'm a Java/J2EE developer - there's tons of work for a good java developer, especially if you can do web development too.

    I vote Java - it's a great language, easy to learn, and highly sought after. Plus being able to use java apps on any operating system is really nice.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 4:22 PM GMT
    Java will be around forever. But, some believe it is used more often than it should. Still, when I try to pass data between systems, I keep running into Java.

    Microsoft Visual Studio supports C++, C#, C, Visual Basic, F#, individually or simultaneously. There was a time that to do all the cool user-interface customizations, you had to know C and C++ (especially for unix UI's). Visual Studio alleviates that.

    It wasn't an easy transition from C(Sun's C-Workshop) to Visual Basic. The syntax is very different. But, companies don't like to rely on a custom piece of code and the original author is gone. Being able to goad my coworkers into doing their own enhancements and fixes has paid off. Visual Basic is easy to understand without knowing the syntax, unlike C or Perl.

    I do recommend you get comfortable with SQL and databases, or on a lower level, general data structures. They are language independent and key to getting real work done. Electronics designers have to keep parts lists and electrical properties updated across multiple systems. Automating those processes has been very good for my career.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 4:46 PM GMT
    All the work I've done in the real world has been C and C++. Probably best to focus on an object oriented language so go with C++ or Java as a learning tool. I just recently picked up Perl and it was fun scripting language icon_smile.gif.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 4:48 PM GMT
    Thanks this is all very helpful. icon_smile.gif
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 5:37 PM GMT
    Python can be a good start too. But yeah most of the tech world revolves around C++ and Java. You can start with any of those. The learning curve in C++ is bit high. Python on the other hand is a fun and easy language to learn. You can do everything with Python but much faster and efficiently.
  • MadeinMich

    Posts: 1624

    Mar 10, 2013 5:57 PM GMT
    charlitos saidHTML is not a programming language btw it is a mark-up language that merely serves for semantic purposes like all mark-up languages. Learning a programming language will take some dedication, and lots of time. It really doesnt matter which language you choose as long as you understand the basics.

    Once you are familiar with terms such as heap, stack, pointers, recursion, polymorphism and introspection only then you can call yourself a programmer.


    Python can be a good starting point for beginners but you will need some exposure to languages such as C and Java to understand low level and high level programming. Also you should know the difference between programming languages and scripting languages.


    Charlitos and Bharatiya
    My friend is learning Python right now because he is trying to design aps. Plus he says this program is good for user interface and user experience design (UI/UX).

    Do you guys know anything about UX/UI? If so would Python be good to learn for this?
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 6:24 PM GMT
    MadeinMich said
    charlitos saidHTML is not a programming language btw it is a mark-up language that merely serves for semantic purposes like all mark-up languages. Learning a programming language will take some dedication, and lots of time. It really doesnt matter which language you choose as long as you understand the basics.

    Once you are familiar with terms such as heap, stack, pointers, recursion, polymorphism and introspection only then you can call yourself a programmer.


    Python can be a good starting point for beginners but you will need some exposure to languages such as C and Java to understand low level and high level programming. Also you should know the difference between programming languages and scripting languages.


    Charlitos and Bharatiya
    My friend is learning Python right now because he is trying to design aps. Plus he says this program is good for user interface and user experience design (UI/UX).

    Do you guys know anything about UX/UI? If so would Python be good to learn for this?


    It depends on what his target platform is and the back end requirements.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 9:59 PM GMT
    JerseyJames75 saidI've always wanted to improve my programming skills, and have been futher inspired by code.org. I know barebones html and some MATLAB, but nothing that's a really core-language. What do people recommend I learn with the way the tech-world works today?


    For higher dollar work, JAVA, is, hands down, the language of choice. It runs enterprises world wide, and scales and runs on everything from manufacturing lathes to cable boxes to web sites to medical devices to aircraft systems.

    If you're wanting to learn web programming, PHP isn't a bad choice. You NEED to get some formal instruction so you understand basic concepts and don't write crappy code (I've cleaned up so much garbage.) The LAMP (Linux, Apache, MySQL, Perl / PHP / Python) is a must have for any serious web developer. Next to that, for the 6 figure jobs, you'll need Tomcat, Jetty, JBoss, Maven, Jenkins/Hudson, GIT, Subversion, Mercurial, Eclipse, Net Beans, which aren't languages, but, if you're doing version control, or in an enterprise environment, it's all stuff you'll need to know.

    Most programming today involves some form of MVC design pattern, and, unless it's scripts, or a quick web page, often involves OOP programming. You need to understand object programming, too.

    Many folks think they are programmers. They are not. They write garbage.

    If you're wanting to learn proper code technique, it's very important to understand what you're doing, and get some instruction of the bigger picture.

    If you want an appreciation of the complexity of the machines, take an assembler class, or get into C/C++.

    In Microsoft shops, Visual Studio (an IDE) and C#, along with PHP, are must haves.

    HTML is generally not considered a language, per se', although that line blurs in HTML 5, with improved functionality, and event triggering that trickles into the DOM. That is, HTML can be considered a languages in that you can define conditions and events, so, to say it's not really a language would be an error, but, it's not a full featured programming language, by design. In general, HTML is a subset of XML, telling the browser client what to do in terms of content. In older HTML (pre HTML 4), layout was not controlled by styles, nor XML translations. Nowadays styles are aside from the HTML. Then, there's also the DOM, and Jquery, Moo Tools, and other Javascript libraries that manipulate the DOM in real time.

    UI (User Inteface) programming has become its own discipline in the last few years.

    If you want to make a REALLY good living, you learn JAVA, MVC and frameworks, and understand data processing.

    Because Python is easy to learn for most beginners, and is almost universally supported in the LINUX/UNIX world, is object oriented, it's often taught to beginners and is being used more and more to replace PERL based LINUX administration tools. Much of the work of systems management on the UNIX/LINUX side happens in PERL which has been around for quite a while now.

    JAVA has a few short comings, but, it's everywhere and is generally considered a lot more programmer friendly and hardware friendly that C++. C# is very good, but is becoming not as common as JAVA.
  • FRE0

    Posts: 4865

    Mar 10, 2013 10:19 PM GMT
    Here's a list of computer languages I used:

    FORTRAN (the first one I learned)

    IBM 360 BAL

    CMS-2 for the UNIVAC AN/YUK-7

    CMS-2 for the UNIVAC AN/YUK-16

    assembler for the AN/YUK-7

    assembler for the AN/YUK-16

    assembler for the INTEL 4040

    assembler for the DATA 100 computer

    PASCAL

    COBOL

    assembler for the INTEL 8080

    assembler for the Borroughs L

    BASIC

    C

    Then I retired.

    I liked assembler languages best because I always knew what was happening.

    I also had considerable experience patching object code which is probably a lost art. It was also challenging dividing large programs into overlays because they wouldn't fit into the memory of microprocessors at the time; that's also a lost art.

  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 10:21 PM GMT
    FRE0 - I can do anything you need in BASIC. lol...

    I miss it.
  • Whipmagic

    Posts: 1481

    Mar 10, 2013 10:21 PM GMT
    FRE0 saidHere's a list of computer languages I used:

    FORTRAN (the first one I learned)

    IBM 360 BAL

    CMS-2 for the UNIVAC AN/YUK-7

    CMS-2 for the UNIVAC AN/YUK-16

    assembler for the AN/YUK-7

    assembler for the AN/YUK-16

    assembler for the INTEL 4040

    assembler for the DATA 100 computer

    PASCAL

    COBOL

    assembler for the INTEL 8080

    assembler for the Borroughs L

    BASIC

    C

    Then I retired.

    I liked assembler languages best because I always knew what was happening.

    I also had considerable experience patching object code which is probably a lost art. It was also challenging dividing large programs into overlays because they wouldn't fit into the memory of microprocessors at the time; that's also a lost art.



    Brings back memories.
    Fortran 77, assembler for PDP-11, BASIC, Pascal, then C and C++. Haven't really written much code in a decade or so, unless Matlab scripts count.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 10:23 PM GMT
    LOL.

    Young folks have no idea of the concept of resource management. Assembler teaches and appreciation for that, and, how to write good code, generally.

    I have seen some TERRIBLE code over the years, mostly written by folks who never bothered to learn the craft properly.

    Lessee:
    Assembler (pull accumulator...yay)
    COBOL (66 lines and 77 lines)
    FORTRAN (syntax?)
    RPG (why does the world revolve around punched cards?)
    Basic (Basic)
    Visual Basic (Basic which is cool)
    Visual Basic for Applications (Basic which is cool
    C (Uh, pointers, anyone?)
    C++ (cout)
    C# (Ew, cool)
    Ruby (Like PERL with dots)
    Perl (glue for lexical functions)
    PHP (much easier than TCL or PERL for web apps)
    bash/ksh (get er done)
    JAVA (which library to use? First class functions? No)
    DBASE
    Foxpro

    To varying degrees. I want'a get better with JAVA because the money is so good there.

    I went to school on a VAX 11/780, a PDP/11 and a NCR something or another.

    My iPhone has 64,000 times as much memory as the mainframe had.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 10:32 PM GMT
    I will highly recommend Java, its highly in demand for work opportunities. With jQuery and jQuery mobile gaining a lot of traction it s a wonderful addition to any resume.
  • groundcombat

    Posts: 945

    Mar 10, 2013 10:52 PM GMT
    Whatever you do, don't learn ADA like I did. Lol.

  • Posted by a hidden member.
    Log in to view his profile

    Mar 10, 2013 10:57 PM GMT
    taking my first Java class and Im drowning already. It doesnt make any freaking sense. Btw If I wanna do web development and User Interface Design, what language do you suggest I should learn?
  • Posted by a hidden member.
    Log in to view his profile

    Mar 11, 2013 12:04 AM GMT
    asnextdoor saidI will highly recommend Java, its highly in demand for work opportunities. With jQuery and jQuery mobile gaining a lot of traction it s a wonderful addition to any resume.



    Front End Development is a completely different path from Java and back end in general. I wouldn't like a back end dev doing any sort of front-end whatsoever. From personal experience they really suck at it. I'm saying this because before anybody deals with jQuery mobile they should know jQuery first and before they even know jQuery they should know javascript. This is not the job of a back end developer.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 11, 2013 12:05 AM GMT
    BlueJeans90 saidtaking my first Java class and Im drowning already. It doesnt make any freaking sense. Btw If I wanna do web development and User Interface Design, what language do you suggest I should learn?


    ^^^ I'm curious about this too. It HTML5 like, the new black?
  • Posted by a hidden member.
    Log in to view his profile

    Mar 11, 2013 1:02 AM GMT
    BlueJeans90 saidtaking my first Java class and Im drowning already. It doesnt make any freaking sense. Btw If I wanna do web development and User Interface Design, what language do you suggest I should learn?
    Web development is such a nebulous term. Like I mentioned before, the language you learn depends on what you want to do.

    Also user interface design doesn't require programming knowledge. It's more in the design department.
  • Posted by a hidden member.
    Log in to view his profile

    Mar 11, 2013 1:11 AM GMT
    BlueJeans90 saidtaking my first Java class and Im drowning already. It doesnt make any freaking sense. Btw If I wanna do web development and User Interface Design, what language do you suggest I should learn?


    I'm always happy to help if you're confused (with Java). Taught the 101 classes for a couple years in school and by now I know the language better than most of my professors did.