• Skip to primary navigation
  • Skip to main content

DebKR

To the Stars

  • About
  • Blog
  • Contact
Where to Start in Programming 2

Where to Start in Programming 2

21/02/2016 By debkr

programming-pythonOption 1: the intention is to create something specific right now (start with the end in mind)
  • Web developing: HTML, CSS, JavaScript, PHP
  • App developing: Java for Android, or Objective C for iOS
  • Mainstream programming, various uses: C, C#, Java, Perl, Python, Ruby

Option 2: the intention is to become a programmer, we can worry about what to create later (eat, sleep, code)

  • To learn to code efficiently, at machine-level, choose C
    • Advantages: you learn the fundamentals of coding; see how the language interacts with the hardware; requires discipline so teaches you to code efficiently
    • Disadvantage: strict; not really beginner-friendly; longer learning time than some other languages; can be frustrating (e.g. debugging for errant semicolons)
  • To learn the principles of Object Oriented Programming (OOP), choose Java
    • Advantages: highly practical language; learning Java means you’re learning the OOP principles – allows for easier/faster learning of more modern languages like C++, Perl, Python, PHP; taught for free via Stanford Uni’s open-access Programming Methodology course; used extensively across many platforms; used in Android app development; long history of use means lots of standard examples available
    • Disadvantages: ??

  • For a fun and fast way into programming, choose Python
    • Advantages: simple yet capable language so great for beginners; code is easy to read; reinforces good programming style; not syntax-heavy; faster to learn, and faster to code (line for line) than other languages (BASIC, C, J, Java)
    • Disadvantages: ??

With thanks to LifeHacker.com for the above info (source)

Option 3: the intention is to make a career out of this (show me the money)

The following table lists main uses by language as provided by DevCodeHack.com (source):

Language Popular Use
Python/Ruby/PHP  Server-side for websites and mobile apps
Objective-C IPhone
HTML Client-side for websites. Markup language for building web sites
CSS Client-side for websites. Presentation language for HTML
JavaScript Client-side for websites, used to manipulate HTML/CSS. Also jQuery
Java/.Net Android programming. Server-side for websites, more popular with big businesses
C/C++ High performance (stock trading) or graphics (video games)

A similar list as provided by LifeHacker.com (source):

Back-end/Server-side Programmer:
Python, Ruby, PHP, Java or .Net. Has database knowledge. Possibly has some sysadmin knowledge

Front-end/Client-side Programmer:
HTML, CSS, JavaScript. Possibly has design skill

Mobile Programmer:
Objective-C or Java (for Android). HTML/CSS for mobile websites. Potentially has server-side knowledge.

3D Programmer/Game Programmer:
C/C++, OpenGL, Animation. Possibly has good artistic skill.

High-Performance Programmer:
C/C++, Java. May have background in mathematics or quantitative analysis.

——

Taking into account all the above suggests I should focus on learning Java first then move to C/C++. (More info on C vs. C++ here: 5 best programming languages.)

 

Filed Under: Blog, Computer Science, Programming

Copyright © 2016–2025 · Powered by WordPress On Genesis Framework · Log in

  • Writing
  • Developing
  • Consulting