• 0

What should be the first programming language someone learns?


Question

Hello,

Since a nonrelated topic has gone completely offtopic, Ill start a thread about that offtopic topic :p

That was a mouthful.

So anyways, what should be the first programming language someone learns?

I want to post some quick definitions:

A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms

Examples: C++, Java, C#...

A (document) markup language is a modern system for annotating a document in a way that is syntactically distinguishable from the text. The idea and terminology evolved from the "marking up" of paper manuscripts, i.e., the revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts. In digital media this "blue pencil instruction text" was replaced by tags, that is, instructions are expressed directly by tags or "instruction text encapsulated by tags".

Examples: HTML, XML...

A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment that can interpret (rather than compile) and automate the execution of tasks which could alternatively be executed one-by-one by a human operator.

Examples: Javascript, Python....

I refer ONLY to strict programming languages. You can state as a second alternative (or a web alternatvie) a scripting language :)

And since sadly some of us think that pseudocode is some stupid thing they taught you in school like:

ask user for name

wait for user to input name

print the name for user

and has nothing to do with the pseudocode that is done in reality and in a proper working enviorment with real scalable projects:

Pseudocode is an informal high-level description of the operating principle of a computer program or other algorithm.

It uses the structural conventions of a programming language, but is intended for human reading rather than machine reading. Pseudocode typically omits details that are not essential for human understanding of the algorithm, such as variable declarations, system-specific code and some subroutines. The programming language is augmented with natural language description details, where convenient, or with compact mathematical notation. The purpose of using pseudocode is that it is easier for people to understand than conventional programming language code, and that it is an efficient and environment-independent description of the key principles of an algorithm. It is commonly used in textbooks and scientific publications that are documenting various algorithms, and also in planning of computer program development, for sketching out the structure of the program before the actual coding takes place.

No standard for pseudocode syntax exists, as a program in pseudocode is not an executable program. Pseudocode resembles, but should not be confused with skeleton programs, including dummy code, which can be compiled without errors. Flowcharts and Unified Modeling Language (UML) charts can be thought of as a graphical alternative to pseudocode, but are more spacious on paper.

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Start with native code like C/C++ and once you learn the fundamentals of programming move on to managed stuff like C# or Java.

 

Its a similar philosophy to learning how to drive first using a manual transmission before using an automatic.

Link to comment
Share on other sites

  • 0

Start with any assembly or at least C, so you understand how computers do stuff (in addition to taking Electrical Engineering 101: diodes and other funny quite-but-not-exactly unlike plastic little doohickeys). If that doesn't crush your spirit into fine dust and weed you out of the overpopulated aitee speshulist market in favor to, say, Law School, proceed to invent fabulous stuff using your perfected skills of actually having a clue. Then try to maintain that level without inadvertently contributing to Linux kernel, growing too much beard, reading Dilbert and concluding that IV coffee injection might actually be a good idea.

Uh, sorry, once I had started, the momentum carried me...

Link to comment
Share on other sites

  • 0

Personally it depends on their goals.  If they're planning on going professional (IE skills you can easily "sell" elsewhere) versus learning it as a hobby (picking something niche wouldn't matter much, Pascal for example) would make a huge difference in choices

 

Just an opinion, arbitrarily excluding Python isn't exactly fair, not only can it do quite a lot but it can also be compiled in advance into bytecode or use JIT, similar to what other languages do.  Not saying it's the best option for every situation (no language is), but it's not just a scripting language either.

Link to comment
Share on other sites

  • 0

Hello,

Just an opinion, arbitrarily excluding Python isn't exactly fair, not only can it do quite a lot but it can also be compiled in advance into bytecode or use JIT, similar to what other languages do.  Not saying it's the best option for every situation (no language is), but it's not just a scripting language either.

Well, it was originally designed as a scripting language. Thats why I excluded it :)
Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.