View Single Post
Old 06-07-2019, 02:44 PM   #52
Supremacy Member
davidktw's Avatar
Join Date: Apr 2010
Posts: 9,915
quick question davidktw,

what was your sequence in learning programming language if you dont mind sharing?

i just started cs50 too after reading your comments, i must say it is a really good online programme. it totally changed the sequence in which i intend to learn programming.

for me i started out coding as a hobby so i never really thought of delving more into programming until now.

some history for myself off my mind.
1999 - html
2001 - html/css
2012 - html/css bootstrap/jquery/node.js
2015 - html5/css bootstrap/jquery/node.js/vue.js
2016 - html5/css bootstrap/jquery/react.js/vue.js/node.js

presently, i'm considering starting out more towards the basics of programming.

Learning C > C# > C++ > Python

then moving back to more web related languages like sql, php.

also i'm not in the industry thus far, but am considering a career switch because i like to code more than design ux/ui.

Any other courses you'd recommend?
I started off programming like roughly 30 years ago, when computer are still IBM XT/AT, so the sequence probably wouldnít applies these days. If you wanted to know, I started on my own with GW BASIC, C and assembly. My formal CS training started in JC with Turbo Pascal, PHP and C++ on my own, then JAVA in Uni as another formal training. During my Uni, I also picked up Lambda Calculus, Javascript, Haskell, more advance C on Unix environment, shell scripts (Bash), JVM assembly using Jasmin. In work, I further learn on Perl, Groovy, more advanced Javascript. Throughout my entire education and career, learning more languages is not really the focus. It is only important during the start having you need to speak a language to converse in that ďuniverseĒ or environment. Thereafter the knowledge to acquired is far beyond just syntax and semantics. During my uni, I also took courses on Programming Languages and Compiler Design, to understand further on how languages are designed and built. How they get translated from high level intent into low level assembly codes.

What I want to share ultimately is programming language, while important, is not really what you should be placing so much focus on. There are fundamentals in CS that are used everywhere like Data Structures, Algorithms, and Methodologies. When attending a course on Programming, Software Development, or Computer Science, what you really wanted to absorb is the technique of moving around in this space. How to solve problem with all the knowledges made available to you. Donít just focus so much on one thing, because ultimately what is going to shape you as a practitioner is how much knowledge exposure you have.

Why would I say one programming language is unnecessarily is because when you donít understand certain concept in one language, you might find it easier to understand in another language. It is untrue to assume a person can only do well and focus well in one language. Look at your real life experience, are you only taught one language? Did one language brings you the sufficient cultures exposure to your real world? English poetries gives you insight to one part of humanity, while Mandarin poetries are beautiful in other manners. It is the cultures that you want to be exposed to because cultures brings you to unexpected places that you donít even know they exists.

If you are starting out these days, web technologies has a very large reach. Hence I will say popular and valuable languages at the moment will be not in particular sequence: Python, Javascript, Typescript, C#, Java, Swift. These languages will give you quite fair bit of versatility. However like i have mentioned, donít limit yourself to just languages. They wouldnít teach you about algorithms and data structures, they also wonít teach you about testing frameworks, database and networks, development deployment cycles, OS and platforms, and many many more.

If you really want to enter this industry and stay in it, bring passion along. Learn Computer Science, learn technologies, be unbiased with importance of stuff. My versatility donít come with just knowing technologies, you will want to be able to appreciate Art like videography, photography, sciences and mathematics which are very general but they open up your mind to what is possible and what are the futures. In this way, you will always open up new areas to venture that you have never imagine before.

Hygiene courses like networking, database design, OS and platforms, parallel and distributed programming, computer graphics, data structures and algorithms are necessary in basic CS. If you want to indulge, then you can learn more on Machine Learning, IoT, Data Science.

In your case, get started first and built a strong foundation. 欲速则不达。

Last edited by davidktw; 06-07-2019 at 10:49 PM..
davidktw is offline   Reply With Quote