Page 2 of 2 FirstFirst 12
Results 11 to 16 of 16

Thread: From a Beginner to Coding Expert

  1. #11
    Join Date
    Mar 2010
    Location
    Metro-ATL; PM free zone.
    Beans
    Hidden!
    Distro
    Lubuntu 14.04 Trusty Tahr

    Re: From a Beginner to Coding Expert

    How to become a software developer: http://blog.jdpfu.com/2011/10/19/how...arn-to-program

    Knowing everything about computers is impossible for any single person. It is just too complex for anyone to know "everything", but gaining a good overview of hardware and software is possible for everyone. It is the details that take time.

  2. #12
    Join Date
    Mar 2010
    Location
    Metro-ATL; PM free zone.
    Beans
    Hidden!
    Distro
    Lubuntu 14.04 Trusty Tahr

    Re: From a Beginner to Coding Expert

    Quote Originally Posted by Don_Stahl View Post
    So what are people's thoughts on a first programming language?

    Python is often touted as a powerful and relatively intuitive language. (I've dabbled and like it very much.) There are free IDEs for Linux; I like Stani's python editor.
    C++ seems very popular among developers, and may be the most marketable skill. Or am I wrong?
    If one uses MS Office products, visual basic for applications is a very useful skill to have. And it's led a lot of people like me to think they can code when they really can't...
    Java is also very popular, and is used for Android and iOS apps. I haven't dabbled with Java in years.

    What are some other suggestions?
    Python first. Useful, complete, object oriented, forces good style and gets things done relatively quickly when runtime performance isn't needed, but developer efficiency matters most.

    C 2nd. C is the language that almost every other language is written in. It is cross platform and low-level enough to understand how computers work. If you are not using malloc() and free(), then you are using a language that is too high-level. Understanding how to manually manage memory is a key to understanding how computers work. If you aren't manually managing memory and do it enough to get it down for every situation, you do not understand computers.

    After that, learn whatever languages you prefer for fun or work. Learn the limitations too. There is no best language for everyone or every need. More and more developer efficiency overrides code efficiency. Nothing wrong with that, but there is a price to be paid in hardware, processing time, and often costs to hosting plans.

    I learned about 20 different languages that nobody uses anywhere in the world anymore before learning C then C++. Each of those other languages taught me much about specialization - the great things and the terrible limitations of specialized languages. Then I went to the other extreme. Wanted cross-platform code over all else. That means code that ran on over 12 different platforms, including Mac and Windows. That teaches some extremely valuable lessons and had altered the way I write code even for 1 platform. I would never use a proprietary language and write extremely defensive code. I want my code to die during development, not when in production. Doesn't matter which language.

    And one clarification - Java is not used on iOS. ObjectiveC is. A modified Java is used on Android. It is different enough that I consider it a different language - highly specialized.

    Ruby is fun. When I was coding in cross-platform C++ all day, on the weekends I would write Ruby and Perl. Ruby for enjoyment and programs that didn't need to be fast or hosted online. Perl for webapps that needed to be fast like C and efficient with my hosting plans. I think perl is about 3x faster than ruby. There is an overhead for pure OO languages. Using some OO in Perl is good, fast, efficient, but using a full perl OO framework helps us understand the overhead in Java and Ruby that cannot be avoided due to language design.

    R seems like a fun language, but is just isn't relevant to the sort of programming that I do.

    Learning something like Haskell can be a real eye opener to people with procedural backgrounds.

    To see more languages than most people can imagine, check out http://rosettacode.org/wiki/Rosetta_Code
    Last edited by TheFu; January 18th, 2014 at 11:32 AM.

  3. #13
    Join Date
    Sep 2005
    Beans
    1,606
    Distro
    Xubuntu 14.04 Trusty Tahr

    Re: From a Beginner to Coding Expert

    Visual Basic is powerful and people can learn to code, just not as well as someone with C++ knowledge.

    Javascript is useful.
    C# it's java-like.
    Ruby is supposed to be really good, very well built, but similar to how python works.
    Not sure how other's like FORTRAN, D, or that are.
    Where's [slooksterpsv] been? - I had Catastrophic partition alignment failure. I lost 90%+ of my data, and just now got it back fixed and working.

  4. #14
    Join Date
    Jul 2013
    Location
    Wisconsin
    Beans
    2,041

    Re: From a Beginner to Coding Expert

    +1 for TheFu's advice.
    Most of Ubuntu is written in C, shell, and Python. So those are good places to start for your first few years of learning.

  5. #15
    Join Date
    Nov 2010
    Location
    India
    Beans
    241
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: From a Beginner to Coding Expert

    c# worked for me... tho, yes, havent dabbed at it for ages.. but i think python is the future
    "Metallica doesn't suck, Motorhead just kicks way more fy! 5 bottles of whisky, 2 packs of smokes and fried bologna every day for forty years and i could have a voice like lemmy's" - -Some guys on youtube..

  6. #16
    Join Date
    Aug 2013
    Beans
    22
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: From a Beginner to Coding Expert

    Very good info from The Fu. Thanks for the clarification on iOS and Android!

Page 2 of 2 FirstFirst 12

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
  •