Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
IMHO it depends on the learner expectations or the purpose of learning to code.
Let's split it into three use-cases:
People want to learn something fast with working as junior dev
JS is the king at this moment (marketshare).
Now we have MERN stack which I think it's OK, BUT I really feel that Mongo is not the best DB to begin with.
To proper use a relational DB you need to learn about Database normalization , at least 1FN, 2FN, 3FN and Boyce Codd.
It helps you understand how to link data, Referential integrity and so on. It's a bit larger path but sure it will pay back when working with ORMs or in a real life project.
Even when creating your own data structures or thinking how to store or send information in a project.
People from other disciplines that want to build it's own website/webapp
Or learning how to code just for fun and show things to family and friends.
The LAMP stack has been the king for a single reason, It does not require to learn deeply, you can understand the basics and jump off to make wordpress/prestashop plugins relatively fast so you can have a strong base of code (a popular CMS) with a good support (most companies that offer hosting for WP, PS and so on help customers with some customizations).
People who want to learn the bowels of how coding works
IT students or junior devs in the industry that want to go deeply.
I'll suggest C or similar languages.
I think coding in a procedural way is more understandable at the beginning as things are executed from top to botton and one after the other. Each file is a context and if you forgot some stupid thing it breaks and you'll need to fix it.
Plus it makes you allocate the memory for your variables and so, thus you can understand what is happening behind the scenes in other languages environments/runtimes much better.
The knowledge that gives you coding for a while using C can be astonishing.
Thank you, I like how you emphasize how JS allows to execute code without any error when trying something, which is possibly not ment to work. Some things like hoisting can make it more difficult to learn it, too.
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
Hahaha I read your comment with irony because I didn't mention those things but I realized that suggesting C is enough. 😆
Each language/environment has it's own pros and cons. Js is a flexible language that I love (I've preference for scripting languages such JS, Python, PHP, Ruby...) but those are just my preferences.
JS is not bad but reaching the point to be considered as not-bad-JS-Dev is probably a longer way than with other languages that are more strict.
That may be the reason for many people to engage quickly with TS and blame JS. Personally I think that it's ok to use one or another when it fits. Using TS in any case seems a bad idea even as a concept.
Sorry, if this has not been be best answer to your detailed response, but yes, your response kinda reminded me of how JS allows a lot, which is not always great.
I am currently working a lot with JavaScript and comparing with C#, C# is more strict. Surely not the same as C, but I hope you get the idea.
I also agree on that you can be pretty good with JS, but this possibly takes much time.
For TypeScript I know, that it only extends JS, it does not solve many issues, because these get not replaced and still exist. You actually need to make use of the "good" features of TS and avoid the "bad" ones from JS.
I hope this answer fits better this time.
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
No problem,
I understand what you say as I worked with C++, C#, Java, Python, PHP... in the past so got a nice overview of different programming languages, plus I saw good code and rubbish code in all of them thus I won't blame JS for that, instead work along with the team to improve the overall result of the code and its quality.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
IMHO it depends on the learner expectations or the purpose of learning to code.
Let's split it into three use-cases:
People want to learn something fast with working as junior dev
JS is the king at this moment (marketshare).
Now we have MERN stack which I think it's OK, BUT I really feel that Mongo is not the best DB to begin with.
To proper use a relational DB you need to learn about Database normalization , at least 1FN, 2FN, 3FN and Boyce Codd.
It helps you understand how to link data, Referential integrity and so on. It's a bit larger path but sure it will pay back when working with ORMs or in a real life project.
Even when creating your own data structures or thinking how to store or send information in a project.
People from other disciplines that want to build it's own website/webapp
Or learning how to code just for fun and show things to family and friends.
The LAMP stack has been the king for a single reason, It does not require to learn deeply, you can understand the basics and jump off to make wordpress/prestashop plugins relatively fast so you can have a strong base of code (a popular CMS) with a good support (most companies that offer hosting for WP, PS and so on help customers with some customizations).
People who want to learn the bowels of how coding works
IT students or junior devs in the industry that want to go deeply.
I'll suggest C or similar languages.
I think coding in a procedural way is more understandable at the beginning as things are executed from top to botton and one after the other. Each file is a context and if you forgot some stupid thing it breaks and you'll need to fix it.
Plus it makes you allocate the memory for your variables and so, thus you can understand what is happening behind the scenes in other languages environments/runtimes much better.
The knowledge that gives you coding for a while using C can be astonishing.
Thoughts?
Thank you, I like how you emphasize how JS allows to execute code without any error when trying something, which is possibly not ment to work. Some things like hoisting can make it more difficult to learn it, too.
Hahaha I read your comment with irony because I didn't mention those things but I realized that suggesting C is enough. 😆
Each language/environment has it's own pros and cons. Js is a flexible language that I love (I've preference for scripting languages such JS, Python, PHP, Ruby...) but those are just my preferences.
JS is not bad but reaching the point to be considered as not-bad-JS-Dev is probably a longer way than with other languages that are more strict.
That may be the reason for many people to engage quickly with TS and blame JS. Personally I think that it's ok to use one or another when it fits. Using TS in any case seems a bad idea even as a concept.
Sorry, if this has not been be best answer to your detailed response, but yes, your response kinda reminded me of how JS allows a lot, which is not always great.
I am currently working a lot with JavaScript and comparing with C#, C# is more strict. Surely not the same as C, but I hope you get the idea.
I also agree on that you can be pretty good with JS, but this possibly takes much time.
For TypeScript I know, that it only extends JS, it does not solve many issues, because these get not replaced and still exist. You actually need to make use of the "good" features of TS and avoid the "bad" ones from JS.
I hope this answer fits better this time.
No problem,
I understand what you say as I worked with C++, C#, Java, Python, PHP... in the past so got a nice overview of different programming languages, plus I saw good code and rubbish code in all of them thus I won't blame JS for that, instead work along with the team to improve the overall result of the code and its quality.