Stop. Don't learn these coding languages. If you're a beginner.
Hi, I'm Mark Lassoff and welcome to the channel.
I help people become professional web and mobile developers and digital
designers. If you're interested in improving your development and design skills,
I'd invite you to subscribe to the channel for new videos each week hit the like
button.
So YouTube knows that these types of videos are helpful and includes them in
their recommendation engine. Today,
I'm going to talk about the worst coding languages for beginners to learn.
These are for the most part,
great languages and ones you should definitely look at,
but only when you're ready,
starting out with these languages is kind of like starting in the middle.
Instead of at the beginning, at the end of this video,
I'll talk about where I think you should start and were successful developers.
I've taught it started before that.
Let's start with my list of the worst coding languages for beginners.
We'll start with the grand Pappy of all object oriented coding languages,
C plus plus C plus plus is a powerful language used for everything from
operating systems to creating critical desktop and infrastructure apps.
Chances are your web browser and your word processor are written and at least
partially C plus plus C plus plus was the first language to implement an object
oriented structure. Object oriented design comes from engineering.
It's a methodology of problem solving where all the components in a problem
space are broken down into classes and objects.
These objects are described in terms of their properties and their actions in
object oriented design. A car may be described in terms of its properties,
top speed, color number of cylinders and weight.
It would also be defined by its actions like accelerate brake engine on
engine off, et cetera, in the object oriented space, different objects,
and the private domain will interact in the larger system.
Your car objects may interact with road objects, traffic signal objects,
a vehicle operator objects more.
I wouldn't say the object oriented design implemented by C plus plus is
difficult, but it does require a type of abstract thinking. That's foreign.
If you're not used to thinking that way more importantly,
you likely have no context or experience to build upon.
There's nothing to wrap your brain around in order to start learning.
In addition to object oriented design,
the C plus plus language is huge with multiple libraries to learn that don't get
me wrong. This language is powerful and it's fast.
That's why it's still in use 40 years after it was created. However,
C plus plus is used for things that beginning developers just don't do.
Very few newbs are building operating systems, web browsers, or financial tech.
Your first projects are probably not going to be gaming engines and are more
likely to be websites and C plus plus it's just not useful. Those in fact,
generally when you start with C plus,
plus the only convenient way to generate output is to print to the command line,
which has been old school and inconvenient for new developers who aren't used to
the command line environment. Okay. So that's C plus plus, let's see,
what's next on my list of the worst coding languages beginners.
This one may surprise you because so many college and university programs start
their students with Java.
Java is a great enterprise language like C plus plus Java is an object oriented
language, and problem demands are broken into a series of classes and objects.
Java runs in any machine and it's free. So it sounds pretty good, right?
And maybe if you have a university timeline for your education,
Java is a good initial choice. Most people, however,
don't have four years of full time, step to learn,
nor do they desire to be computer scientists.
They just want to learn how to write code. When I was talking about C plus,
plus I mentioned the idea of context,
Java suffers from an even bigger context problem with C plus, plus,
this is the typical Java hello world program.
As you may have guessed it outputs the text, hello world to the screen.
It's a pretty simple task, but here's the problem.
This code requires you to understand 11 separate and sometimes
complex Java concepts in order to fully understand the code don't believe me,
let's take a look at that code again and count them up.
You would have to understand classes since this program takes place in the hello
world class second,
you would have to understand what the main function is next.
You've got the idea of access modifiers.
This bit of code uses public fourth is the concept of static classes.
Fifth. We've got the idea of function parameters.
Since the main function takes an array of strings as a parameter,
which makes concept six and seven arrays and strengths concept eight is
understanding how system out print line works.
Concept nine is the semi-colon line Terminator,
which if it's missing or incorrectly used will cause an error concept. 10,
how to compile Java into Java.
Bytecode finally concept 11 is running that Java byte code in the Java virtual
machine. So you can see the results in the console. Does your head hurt yet?
No wonder most people who attempt to learn to code fail,
we're teaching them wrong.
Now I'm not saying you can't simply take some of these elements for granted and
move on over life is simpler and learning is easier.
If you have fewer things to learn,
especially when you have little or no context for learning them.
The reason I'm so passionate about learning in the right order is that if you do
things the right way,
you build context along the way and learning Java or C plus plus,
or whatever becomes much easier later on for comparison sake,
let's take a look at the code required to output the hello world,
text to the console in Java scripts. All right, that's it. You CMT easier.
It is to complete the same task with this code.
There's significantly less to learn less to misunderstand and an easier road to
success. Most importantly,
less context is needed to understand this code than the Java hello world code.
We looked at before now,
some would argue that it's better to have all the initial concepts hitting you
at once because you learn all the fundamentals together.
And that's a valid argument,
but it's like learning to fly before you learn to walk,
building initial success and adding complexity is simply more compatible
with how most people learn. Let's go on to my next selection for our list.
Okay. Were the five guys still creating Ruby on rails sites?
Complain in the comments below? Let me say,
I think Ruby on rails is a good framework. And if anybody's still used it,
it might be a technology that I'd recommend a few years ago,
Ruby was very popular or at least it seemed so everyone was talking about how
easy the Ruby on rails framework made developing web applications.
The Ruby language was easy to learn and the rails framework did a lot of the
heavy lifting to make developing applications a breeze.
There was only one small wrinkle. Very few people adopted the framework.
And if you did, it was nearly impossible to find experienced developers.
There are still some Ruby on rails projects active today,
but if you choose to learn this framework,
you're simply going to limit your employability and available opportunities.
Ruby on rails is kind of like that girlfriend from camp that lives in a town far
away that nobody's ever met. Sure. She gets talked about a lot,
but when it comes to actually seeing her not.
So much, okay, next.
This one to the list,
because I know it's still taught in a number of community colleges and junior
colleges, visual basic had a good run.
It made it fairly easy to create windows applications. I learned it myself.
About 20 years ago,
I took a class at Austin community college to learn VB and actually met one of
my professional mentors who was teaching the class Mike Martino.
But here's the thing,
even though you'll still see visual basic on a few college course schedules,
but language is functionally dead.
Notice the Google trendline for all practical purposes.
The language was dead 10 years ago and it's completely flat line.
Now visual basic is kind of like that eighties band that had one hit and still
tours it's over for this lake. Visual basic was mostly championed by Microsoft.
Now for Microsoft development. C sharp is the language of choice.
So next on our list. Yeah.
And this one will get me the most hate and I hesitated before putting C-sharp on
my list.
But then I had to remind myself that this list is for beginners who are just
getting into the field.
C-sharp suffers from the same context problems as Java and C plus plus C
sharp is in enterprise level language optimized for creating large web apps with
a team it's a very heavy lift for brand new developers.
C-sharp is widely used, however, and not just in the Microsoft context,
C sharp is a common language for video game.
It's the language of the unity game engine,
which is by far the most popular game development engine out there.
Once you establish a larger context for learning C sharp,
wouldn't be a bad choice at all because of its flexibility. Okay?
Now the final language on my list of languages not to learn
go was developed by Google to be an efficient,
readable and secure language for system level programming.
It works well for distributed systems and our systems are located on different
networks and it's communicate by sending messages to each other while it is a
relatively new language go has a large standards library and extensive
documentation go.
However hasn't gained widespread use outside of silicone valley go does not
include a library for graphical user interfaces,
which are the most common ways that end-users interact with any device that has
a screen go is used primarily for applications that need to process a lot of
data. In addition to Google companies using go for certain applications,
include Netflix Twitch,
and Uber goes an excellent language that serves a purpose. However,
it's not a starting place.
You need to be an enterprise company to really make use of go,
which is why it's on my no-no list for new developers. Okay?
So I've talked a lot about what you shouldn't do now.
Let's talk about what I think you should do to be successful when you learn
professional level coding.
These are languages that I think are good for beginners to learn.
Python is a common language that's used for everything from server side
scripting to enterprise web development.
It is strong for text and data processing,
which is why it's a good choice for those who want to go into data. Science,
Python, syntax is easily compared with other languages.
You can use Python without object oriented design features,
even though they're supported.
Another reason I like Python for beginners is that it provides a strong
foundation for learning other languages. Python's easy to learn.
Syntax also has a lot in common with other languages that you'll likely need
later. Finally, Python has hundreds,
maybe thousands of libraries to extend the core functionality in the way from
graphics and data visualization packages to server-side development.
There's loads of pre-written code for you to take advantage of.
[Inaudible].
Swift is the defacto language of iOS development.
If you have your heart set on creating iPhone and iPad applications,
this is the language you should learn while not as easy as Python swift is still
pretty easy to work with.
And I know a number of beginners who've been successful using it as their first
programming language.
Now here's the thing about learning swift while it is the language for iOS,
it's not really used anywhere else.
So you'll still have to learn other technology stacks.
If you want to make a website, for example, for some,
that's not a major drawback like the other languages on this list,
learning swift will give you the necessary context to make learning any
development.
Easier later on this last technology stack on my learn list is the
one I teach in the one I recommend most frequently.
It's the best stack for complete beginners and helps you create the necessary
context for further learning while still being able to do some useful things
with code. It can be used to create web applications and increasingly
okay, for true beginners,
this coding stack makes the most sense because the first two languages that you
learn, aren't programming languages at all, but are actually markup languages.
They're used for marking up and laying out content that is displayed in a web
browser because there is no actual processing logic to HTML and CSS.
They're easier to learn than true programming languages while being easy to
learn,
they still provide a context for learning true coding languages like JavaScript
with HTML and CSS.
You'll become familiar with entering testing and debugging code.
You learn how to locate errors in code and correct them.
You'll become familiar with the patterns used in web development.
Once he got 18 months CSS down,
I moved people to Java script so they can use what they've learned to HTML and
CSS and make it interactive,
starting slowly and adding a little complexity at a time further learning
context is built as you build full fledged applications.
In my online learning program, we follow Java script with libraries like react,
which makes you highly employable and well positioned to learn additional
languages of more complexity like Java or C plus plus.
So there you have my lists,
the coding languages that beginners should avoid and the coding languages that
beginners should learn. I'd love to hear from you in the comments below.
Let me know what you think of the list. Does my discussion about context,
making sense? What order are you planning on learning it?
Let me know in the comments. Also, if you enjoyed this video,
don't forget to hit the like and subscribe buttons.
So YouTube can recommend this video to others who might need the information.
Finally, I hope you'll check out my professional developer program,
which will teach you all the skills you need to become a professional web or
mobile developer. The link is below. Hey,
thanks so much for watching I'm Mark Lassoff and I'll see you next time.