Coding for beginners

keenklee

Arch-Supremacy Member
Joined
Sep 9, 2000
Messages
18,643
Reaction score
6,532
Thanks for the response everyone, appreciate them. I do not doubt for a moment the monumental tasks and efforts needed to acquire a new knowledge or skill such as coding. Had many friends who took that path years ago but eventually left for other discipline or profession.

My main goals are two fold, spend some time to familiarise myself and to gain some basic knowledge of coding since i have some spare time. i believe any time or effort spent in these endeavours will not be wasted. The demand and application of this field will only increase.

Secondly, gathering and exploring more options for my wife little venture. Based on the information received from the responses so far, it will keep me busy for a while and definitely help me save some time exploring on my own.

Keep them coming and thanks once again.

IMHO.
To learn coding quickly, the phrase "begin with the end in mind" probably applies.

I suggested Arduino because at the end, you have something physical. Add a wifi / ethernet "shield" and you're internet connected to the likes of Internet of Things (IoT).

Do a search for author Simon Monk. He has a series of books "Arduino For The Evil Genius". :D

While replying to you, I learnt something new, coding and programming are different ! Eh... my time like don't have this word coding. :s13:

P.S.
One of my interest is photography. Years ago, I decided to use the Arduino to measure humidity and temperature inside the dry cabinet, and hopefully output the results to the internet. I did manage to do until the measurement part before more urgent tasks (in life) got the better of me.
 
Last edited:

stan216

Senior Member
Joined
Jul 8, 2012
Messages
1,034
Reaction score
34
Thanks. That's a creative and visually enticing way of ranking the various languages. You mentioned Java and native Android apps, how about IOS Apps?

To develop for iOS, firstly, you need a Mac system. iOS native applications can be developed in either swift or objective-c. If you want to consider cross-platform mobile solutions, you can look up flutter, react native, Xamarin (Uses C#).

A Mac system is quite a utilitarian tool for developers, but you need to ask yourself first if you need to develop for Mac/iOS systems. If no, you can save some money by not buying a Mac.
 

FatalityV

Arch-Supremacy Member
Joined
Aug 8, 2009
Messages
24,921
Reaction score
10
I do have a couple more queries. Java and Javascript come up quite often as recommended programming languages. Are there programming languages that are quite similar or have overlapping functionality that enable one to learn both at the same time?

For the following languages -

Java
Javascript
Python
PHP

what are the average timeframe for an average joe to learn and use them appropriately?

Thanks.

Dont focus on picking up a singular language? Focus on picking up the fundamentals

Most of the higher level languages have various nuances to them, but if you are able to learn one programming language you should be able to transit fairly simply.

To develop for iOS, firstly, you need a Mac system. iOS native applications can be developed in either swift or objective-c. If you want to consider cross-platform mobile solutions, you can look up flutter, react native, Xamarin (Uses C#).

A Mac system is quite a utilitarian tool for developers, but you need to ask yourself first if you need to develop for Mac/iOS systems. If no, you can save some money by not buying a Mac.

hackintoshes for now are still viable, you may want to consider giving it a shot if you want to try out macOS
 
Last edited:

-Invictus-

Junior Member
Joined
Aug 22, 2020
Messages
17
Reaction score
0
To develop for iOS, firstly, you need a Mac system. iOS native applications can be developed in either swift or objective-c. If you want to consider cross-platform mobile solutions, you can look up flutter, react native, Xamarin (Uses C#).

A Mac system is quite a utilitarian tool for developers, but you need to ask yourself first if you need to develop for Mac/iOS systems. If no, you can save some money by not buying a Mac.


Maybe not at this point yet, will bear that in mind, thanks.
 

-Invictus-

Junior Member
Joined
Aug 22, 2020
Messages
17
Reaction score
0
Dont focus on picking up a singular language? Focus on picking up the fundamentals

Most of the higher level languages have various nuances to them, but if you are able to learn one programming language you should be able to transit fairly simply.

Can elaborate more on the focus on picking up the fundamental vis-a-vis picking up a language? Ways to achieve that? Thanks.
 

Koodies

Member
Joined
Apr 7, 2011
Messages
168
Reaction score
20
Can elaborate more on the focus on picking up the fundamental vis-a-vis picking up a language? Ways to achieve that? Thanks.

I totally agree with the focusing on fundamentals. For example; if else, for loop, while loop & switch case etc. Basically some software engineering too.

IMHO, for the following languages:

1) Javascript / Python ( I recommend JS but Python is easy to grab too )
2) HTML/CSS ( Not programming languages but ... that your goals no ? )
3) Java

* Some people recommend PHP but you do not really need it, can just use Javascript on nodejs.


Just gonna leave this here. Most of them might outdated but the core is still the same.

"Free" Programming Ebooks
 
Last edited:

FatalityV

Arch-Supremacy Member
Joined
Aug 8, 2009
Messages
24,921
Reaction score
10
Can elaborate more on the focus on picking up the fundamental vis-a-vis picking up a language? Ways to achieve that? Thanks.

Yup... apart from the above, more common DS like array/list, map/hashmap/dictionary/, different paradigims of programming like OO/functional, (especially for OO, even though you dont explicitly need classes in alot of languages, alot of today's web frameworks use OOP) , different architectural design patterns like MVC, MVP, MVVM, error handling, proper logging etc etc etc... How and when to use them

Read alot of code. Look at how people structure their code. Things like one function, one purpose, makes it easy to write unit tests.

Make it a habit to do testing. Ya testing very mafan, testing very chor, need mock here, mock there, but at the end of the day, testing will save your life.

Python is a great language if you're starting out, has plenty of features, is simple enough to read, and generally a very forgiving language in nature.

I'd argue its still a decent language even now, there are plenty of web applications built using django, and I normally use flask to do rapid prototyping. I also use it to do scripts, although recently I've moved to golang for my cli tools because of the ease of compiling into a binary and passing it to my colleagues.

My advice may be skewed towards web development, but if by any chance you are pursuing web development, you will also need to learn javascript, and one of the more popular frameworks (react/angular).

When I started out as a developer, this was the path I took

I started out learning PHP, because this was a few years ago, and PHP was still wildly popular amongst the more senior devs at that firm, because well, that was all they used back then. The stack is pretty outdated nowadays but it's still quite robust.

After that, I was moved to another project, learnt python there, used flask and django, frontend was built with legacy jquery.

Next project I did nodeJS.

Since then I've done projects in ruby, golang, front end I only moved to react and stayed there.

I went from writing basic scripts to be executed by the application as a scheduler to working on the application to writing middleware services sitting in between the main application.

The most important part of building backend services is logical thinking ba imho. Once you are able to get down your application logic ensure that you pick the right language/framework for the job. There is no cookie cutter one fits all solution, not say you know python then die die must everything write in python. And usually, if u know what u want to do, you can then break it down into smaller problems and google for how to do it in that particular language/framework.

Can ask davidtkw to put this in better words than I can ba. My english not very good. hard to express what I mean clearly.
 
Last edited:

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,547
Reaction score
1,301
....

Can ask davidtkw to put this in better words than I can ba. My english not very good. hard to express what I mean clearly.

Nah you did it very well. After that TS will be planning out a 5-10 years full time career path. lolx :)
 
Last edited:

FatalityV

Arch-Supremacy Member
Joined
Aug 8, 2009
Messages
24,921
Reaction score
10
Nah you did it very well. After that TS will be planning out a 5-10 years full time career path. lolx :)

Hahaha. less than 5 years ba. I first picked up programming 3 years ago only. This is my first year of full time employment. If TS have the drive, he can do it one
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,547
Reaction score
1,301
Hahaha. less than 5 years ba. I first picked up programming 3 years ago only. This is my first year of full time employment. If TS have the drive, he can do it one

Sure. That is for TS to experience it, I wouldn’t know. :)
 

-Invictus-

Junior Member
Joined
Aug 22, 2020
Messages
17
Reaction score
0
I totally agree with the focusing on fundamentals. For example; if else, for loop, while loop & switch case etc. Basically some software engineering too.

IMHO, for the following languages:

1) Javascript / Python ( I recommend JS but Python is easy to grab too )
2) HTML/CSS ( Not programming languages but ... that your goals no ? )
3) Java

* Some people recommend PHP but you do not really need it, can just use Javascript on nodejs.


Just gonna leave this here. Most of them might outdated but the core is still the same.

"Free" Programming Ebooks

:eek:

Thanks for the link. Noob like me is seeing stars already :s13:
 

-Invictus-

Junior Member
Joined
Aug 22, 2020
Messages
17
Reaction score
0
Yup... apart from the above, more common DS like array/list, map/hashmap/dictionary/, different paradigims of programming like OO/functional, (especially for OO, even though you dont explicitly need classes in alot of languages, alot of today's web frameworks use OOP) , different architectural design patterns like MVC, MVP, MVVM, error handling, proper logging etc etc etc... How and when to use them

Read alot of code. Look at how people structure their code. Things like one function, one purpose, makes it easy to write unit tests.

Make it a habit to do testing. Ya testing very mafan, testing very chor, need mock here, mock there, but at the end of the day, testing will save your life.

Python is a great language if you're starting out, has plenty of features, is simple enough to read, and generally a very forgiving language in nature.

I'd argue its still a decent language even now, there are plenty of web applications built using django, and I normally use flask to do rapid prototyping. I also use it to do scripts, although recently I've moved to golang for my cli tools because of the ease of compiling into a binary and passing it to my colleagues.

My advice may be skewed towards web development, but if by any chance you are pursuing web development, you will also need to learn javascript, and one of the more popular frameworks (react/angular).

When I started out as a developer, this was the path I took

I started out learning PHP, because this was a few years ago, and PHP was still wildly popular amongst the more senior devs at that firm, because well, that was all they used back then. The stack is pretty outdated nowadays but it's still quite robust.

After that, I was moved to another project, learnt python there, used flask and django, frontend was built with legacy jquery.

Next project I did nodeJS.

Since then I've done projects in ruby, golang, front end I only moved to react and stayed there.

I went from writing basic scripts to be executed by the application as a scheduler to working on the application to writing middleware services sitting in between the main application.

The most important part of building backend services is logical thinking ba imho. Once you are able to get down your application logic ensure that you pick the right language/framework for the job. There is no cookie cutter one fits all solution, not say you know python then die die must everything write in python. And usually, if u know what u want to do, you can then break it down into smaller problems and google for how to do it in that particular language/framework.

Can ask davidtkw to put this in better words than I can ba. My english not very good. hard to express what I mean clearly.


i guess flexibility and adaptability is the way to go. A good and practical program is probably a rojak of different languages and apps. Will take me a while to digest your post. Thanks.
 

-Invictus-

Junior Member
Joined
Aug 22, 2020
Messages
17
Reaction score
0
Nah you did it very well. After that TS will be planning out a 5-10 years full time career path. lolx :)

i am quite occupied and happy with what i am doing now, not really looking for a career in IT or software, it's a tough field that requires one to upgrade constantly.

But no harm having a plan b or even plan c or even learning it as a pastime, this covid has turned conventional thinking and the world upside down.
 

-Invictus-

Junior Member
Joined
Aug 22, 2020
Messages
17
Reaction score
0
Will probably start with Javascript and Java first. Have told my wife to look at the recommended web service providers mentioned by you guys.

Have not hit the books for a while, time to start crawling again :s13:
 

luohongxian

Master Member
Joined
Dec 6, 2018
Messages
2,978
Reaction score
881
Hahaha. less than 5 years ba. I first picked up programming 3 years ago only. This is my first year of full time employment. If TS have the drive, he can do it one

Just curious. Is your academic background programming related? Do programmer require a degree?

Thank in advance
 
Last edited:

FatalityV

Arch-Supremacy Member
Joined
Aug 8, 2009
Messages
24,921
Reaction score
10
Just curious. Is your academic background programming related? Do programmer require a degree?

Thank in advance

My tertiary education is a Bachelor's in CS.

However, I was self taught prior to my degree (private degree, 2.5 years).

No, being a programmer does not require a Bachelors in CS.

However, during the course of a Bachelors in CS, you will learn many theoretical concepts, that, while you may never ever apply, will help you better understand processes or theories.

This is just my opinion lah. There are plenty of self-taught devs who never had a Bachelors degree and still can self teach themselves all the theoretical concepts.

The difference is that they got the discipline to sit down in their own free time, do things like go through the entire CLRS and practice all of the questions to better understand DS&A. If you have the discipline to do all of this, you also no need a degree in cs lor.

That's what one of the devs at my side is doing now. Dude graduated with a Bachelor's in Chemical Engineering and self taught himself programming along the way lor.

I think there was a long thread in EDMW the other day on how TCP/IP was asked about during an interview and whether people found it relevant in the industry and this was a prevailing topic during that discussion as well.
 
Last edited:

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,547
Reaction score
1,301
i am quite occupied and happy with what i am doing now, not really looking for a career in IT or software, it's a tough field that requires one to upgrade constantly.

But no harm having a plan b or even plan c or even learning it as a pastime, this covid has turned conventional thinking and the world upside down.

Have fun :)
If you want to really take a stab at it, read this first https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844
If it doesn’t put you to sleep, then you should get started :)
 

luohongxian

Master Member
Joined
Dec 6, 2018
Messages
2,978
Reaction score
881
My tertiary education is a Bachelor's in CS.

However, I was self taught prior to my degree (private degree, 2.5 years).

No, being a programmer does not require a Bachelors in CS.

However, during the course of a Bachelors in CS, you will learn many theoretical concepts, that, while you may never ever apply, will help you better understand processes or theories.

This is just my opinion lah. There are plenty of self-taught devs who never had a Bachelors degree and still can self teach themselves all the theoretical concepts.

The difference is that they got the discipline to sit down in their own free time, do things like go through the entire CLRS and practice all of the questions to better understand DS&A. If you have the discipline to do all of this, you also no need a degree in cs lor.

That's what one of the devs at my side is doing now. Dude graduated with a Bachelor's in Chemical Engineering and self taught himself programming along the way lor.

I think there was a long thread in EDMW the other day on how TCP/IP was asked about during an interview and whether people found it relevant in the industry and this was a prevailing topic during that discussion as well.

Thank for sharing. You sound young as you mentioned this is your first year
Year in ft employment.
 

FatalityV

Arch-Supremacy Member
Joined
Aug 8, 2009
Messages
24,921
Reaction score
10
Thank for sharing. You sound young as you mentioned this is your first year
Year in ft employment.

Quite ba. Around 3-4 years total. I spend my time in SMEs so I 包头包尾. Even when I was doing part time, my tasking was equivalent to that of FT. Just that I get to go to school for lectures during the day if I have lectures. Haha

Posted from PCWX using iPhone12,5
 

Trader11

Banned
Joined
Oct 14, 2018
Messages
15,698
Reaction score
5,233
https://i.imgur.com/DTRpKVp.png :s13:
You might want to ignore the average salary figures however, as (1) they are not in SGD and (2) this infographic is a few years old.

For your question (3): designing your webpage from scratch gives you 100% control over how you want it to be, at the cost of your skill and effort. I have not used any of those website creation apps, but I'm assuming that you will be restricted to as much as whatever the app allows you to do.

As for the starting point for programming, I would recommend Java, because with Java you can create a functional website with Java running the back-end, or develop native Android apps. For web sites, you need to learn an additional HTML, Javascript (do not confuse with Java) and CSS for the front end, and SQL for database.

Designing your own website for ecommerce? It is risky because beginners are not good at handling security design
 
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top