We often talk about programming careers and we even have a few series here on the channel
about different programming languages but today we're going to shift gears
just a little bit and talk about which programming languages make sense for you to learn stick around
Hey everyone welcome back to today in tech i'm Juliet Beauchamp and i'm here with Serdar
Yegulalp a senior writer for infoworld thank you so much Serdar for calling in and joining me today
could you be here and some of you may recognize Serdar of course from the other videos that
we've done together here on the channel but importantly he hosts two programming language
how to series about python and go language so we'll link those below so you can check them out
but serdar i'm hoping you can start us off by just going over what you know the most popular
programming languages are just to provide a brief overview of what we're going to be
discussing today well i want to preface all this by saying that i'm probably going to be a little
bit biased because two of the languages that i cover in my video series are going to be two
that i mentioned and that's a big part of why they cover them because they're so popular and
the first one that comes to mind is the one that i cover most aggressively which is python
and that has skyrocketed to the top of the popularity list in terms of what programming
languages are currently in use big part because of its ease of use and its convenience
these are all things i'll go into a little bit later so python is definitely tops on the list
um but others on the list are languages that have been around for quite some time and have proven
themselves to be stayers uh java for instance and more recently it's it's uh freshly minted
cousin kotlin java should be a very familiar name to a lot of people listening here so it's
probably no surprise that it turns up regularly in in the list of the what's popular to learn
and also languages that are even older than java that have stuck around and proven themselves to be
um powerful and worthwhile simply because they do things that really are kind of hard to find
anywhere else and i'm thinking specifically of c and c plus plus when you need uh control over
the machine that you're running the software on when you need when you need speed it's absolute
those are two of the ones that you pick the most and more recently we've seen the emergence of new
languages that are aimed at the enterprise and also at at machine level work and the first of
those is the go language originally developed by folks at google although it's now developed
by a much larger consortium of people and the other is the rust language originally developed
by folks at mozilla um but again it's sort of taken off and become its own thing apart from
those uh the browser developer company so those are those are five right there
that are popular python java c c plus plus go and rust so i'd like to dive a little bit more
into you know the who of it all right and i'm sure our viewers watching are curious about which
programming languages make the most sense for them to learn like we already mentioned so i'm hoping
that you can sort of take us through i know it's a lot of programming languages about who is most
suited to learn those languages what types of jobs and job descriptions um would be you know the most
it would that would make the most sense to learn you know python for example and the and the use
cases for each of those languages well one of the most common use cases that we come across is just
something where we would need to build the logic for generic business application and that's one of
the areas where java has become a pretty standard standby and simply because it's been used in that
function for so long and because there are so many third-party uh additions available
with the language that allow building those sorts of things readily but go has recently emerged as
another language for for that use case where you want to build things that are are either customer
facing or that are both customer and internal user facing and where you want to develop quickly and
where you want to develop efficiently um java has um you know the the a little bit of an advantage
there that has been around for a long time and that a lot of people know how to use it but
go has a slight advantage in terms of it being fast a little faster to work in the one that's
fastest of all to work in of all of them is python and that's one of the reasons i keep
coming back to it as a recommendation it is it is very easy to stand something up in python and get
it running and so if you need something built on fairly short order that's one of the first
languages to reach for and so it's useful for things like enterprise applications and also for
the uh a close brother to those types of work namely things uh that power the back
end of a website so python and go and java tend to tend to be useful for those things
um but one of the other areas that i've seen python taking off in is the area of machine
learning and data science and these are you know very buzz wordy types of things and some
people are are always not not quite sure you know what the advantages that python brings there and
it's a big advantage is again this convenience of use if you want to get answers and you want
to get insight into data and you want to generate predictions and you want to do all of those things
with relatively little code python winds up becoming one of the big go-to's for
that sort of thing because you can you can put things together in a few dozen lines of code
that would otherwise be much more sprawling and unwieldy in other languages
and then um then there are times when you have to write software that deals with the
machine directly you have to write a device driver you have to write something that has
extremely fine grain control over memory for the sake of speed for the sake of efficiency
this is where c and c plus plus come in these languages have been around for decades
and they have a very strong story when it comes to writing software that runs fast
the downside is that they are also very easy to shoot yourself in the foot with when you have full
control over memory that means that every single mistake that you could make is amplified 100 fold
and so that's where rust comes in rust is a relatively new language that was designed
in many ways to take over where c and c plus left off especially in terms of how things like memory
are managed if a program does not manage memory correctly in rust it simply won't compile that's
that's the general idea and so while there is a much sharper learning curve with something like
rust than there is with something like python the end result is you have a much faster program and
you also have that much more uh secure and stable program especially in terms of memory management
so those are the kinds of scenarios that you would you would see for each of these and by
the way i don't want to imply that that writing something in python or go doesn't
have good memory management it's just that the fine-grained details of how to do that
are out of reach for you by deliberately by design so a lot of it also revolves around questions if
you know how much control do i really want in this particular application how much am i going to need
yeah so it seems like like you mentioned each of these languages have their own use cases in
which they're best suited to so for example to just recap what we've said it seems like
for some of the back end web development kind of sorts of things it seems like python and go
are best suited for that yeah and what and data science what um what should data scientists be
looking or aspiring data scientists be looking to learn well python obviously
and also the collection of uh packages that go with python that make working with data science
easier and faster python by itself is not a very fast language it's fast enough for most work
but when it comes to serious number crunching it's not very fast and so these additional packages
which some of which are written in c or c plus or rust provide a convenience wrapper around
them made out of python so that you are in effect commanding and controlling software written in c
c plus plus et cetera et cetera through python as a way to get this terrific speed and all the
conveniences that you would need to perform you know data research without having to compromise
sure and just referencing my handy list that i have here it looks like general enterprise
applications java and go when it comes to something you know speed and any sort of
demanding application that's c or c plus plus and rust and for mobile development java and kotlin do
you think we covered all the bases there pretty much as far as cotton goes by the way um one of
the things about about java is that the language by itself is written on top of of a substrate
as it were called the jvm or the java virtual machine and the jvm is language neutral java
isn't the only thing that can run on top of it kotlin was developed recently as another language
that can run on the jvm which is actually a lot easier to program in than java for many use cases
and many of the developers on android have started turning to kotlin as a good way to
produce um mobile apps quickly and conveniently without having to deal with with a lot of a lot
of java's boilerplate so that's another case where java becomes very useful is if you're doing mobile
development on android if you're doing mobile development on ios at this point it's basically
the swift language and that's that's pretty much something that uh that apple developers
contend with almost exclusively it hasn't really moved beyond that into other realms at least not
yet i'm wondering too if there's any sort of natural progression when it comes to learning
programming languages that perhaps our viewers can benefit from for example is it if it's more
helpful to learn you know x language now and that will help you learn why language in the future
what is the sort of the natural progression of programming languages or learning programming
languages or if there isn't a natural progression what would you at least recommend again i'm going
to be really biased here and i'm going to say if you start with python it's really hard to go wrong
in big part because it's an extraordinarily easy language to get up and running with
and to pick up there isn't very much in the way of uh you know complexity outwardly it's designed to
be easy to read and easy to work with um without also sacrificing power further further on down
the line except in the sense that it doesn't run quite as fast as some of the other languages but
it's very expressive and and it allows you to jump in and just get things done right away and for a
lot of people that's a really that's a it gives them a great sense of achievement but the other
thing about about having that nice lower barrier to entry is that it's not just about learning the
language it's also about learning the techniques and the tricks of the trade that are associated
with software development if you start with an easy language like python you're not constantly
struggling with it then you have that much more headspace to deal with all of the other things
that are important when learning how to develop software you learn how to do things like manage
revisions um between versions of an application you learn how to manage your workspace and how to
manage the modularization of the program itself now these are all things that are perfectly
possible to learn if you're also starting somewhere else if you start with go or if
you start with java or if you start with c or c plus plus or if you start with rust
all of those things can be learned there too but my personal bias is that if you start with python
you're going to have less conceptual complexity getting in the way of just learning the language
and learning how to get results immediately and then you have more more space in your mind for
learning how to deal with all of the other things that go with developing to be deadly
honest about it though we've reached a point where it's actually really hard to go wrong um
by picking any one of the big popular languages because the resources that we have available now
as opposed to even 10 years ago are absolutely amazing it's it's really astonishing how rich
and vibrant a culture of learning we have around pretty much all of the major programming
languages but again i i remain consistently impressed with what's available for python
in big part because the ease of learning for the language generally also makes it has that's also
driven um an even more vibrant culture of learning around the language but again whatever you start
with it's really just the basis for learning how to learn once you've learned one programming
language and you've learned the techniques for navigating a language's documentation and getting
learning learning how to deal with its quirks that gives you a foundation that you can apply anywhere
frankly just like learning any other language exactly you know once you've learned how to once
you've learned how to speak french other romance languages also tend to come that much more readily
you learn german and other languages that uh are based on it although i i think last that i recall
there aren't that many that are currently based on it and currently in use anymore but you get
the idea they give you skills that are outwardly portable and uh you know my own bias being towards
towards python just because the it's so much easier to get started than with many other places
sure and i think i mean the final question i'm for all of our viewers would probably be you
know where does one even go to begin to learn these programming languages obviously we can
plug ourselves here a little bit and plug you and direct our viewers to your python and go series
but what are some other you know next steps for anyone who's hoping to learn a little bit more
about any of these languages well any of the the big code academies and boot camps at this point
have have courses um and they are often a good way to drop in and just start swimming as far as
python goes obviously there's my own video course but i've also discovered um you know there's my
course and there's also the regular series of articles that i produce but there's also a very
good site called real python that has a lot of excellent and highly specific and detailed
examples for all of the different capacities in the language and many of the languages many of the
newer languages actually have excellent learning facilities right on the languages website go and
rust both for instance have their own educational material available directly side by side along
with the reference material and in both cases you can actually get live feedback on your code you
can actually run the code directly in the browser and see its results so you don't even necessarily
have to download anything to get started you can start experimenting right away awesome well
thank you so much serdar and of course for all of our viewers who are interested in learning
more about python and go we will link not only serdar's video series below but also his article
series on infoworld so you can dive in get your toes wet get your feet wet and really learn more
because it's going to be useful no matter you know what sort of i.t or business career you pursue
so thank you so much sirdar i really appreciate it and thank you all so much for watching this
episode of today in tech if you liked this video be sure to give it a thumbs up
and subscribe to our channel and hit the bell icon in the corner so you're notified every
single time we post a new video if you have any questions comments or better yet resources
for learning any of these languages or if you've been through it and you're a seasoned programmer
or software developer and you'd like to comment and let us know what your
journey has been perhaps offer tips to anyone who's looking to be in your shoes one day let
us know in the comments thanks again for watching and i'll see you next time