- So previously, in this series,
we've talked about the hardware you need
to be a programmer or to programme.
But in this video, I want to go through the software tools
that you need and what costs are associated
with those tools to become a programmer.
So let's talk about that now.
(upbeat music)
Welcome back, my name is Tim Buchalka
with another programming tip of the day.
So let's get into it.
Software development tools, what do you need?
But more importantly, perhaps, what do they cost?
Well before I go into to much more detail,
the great news is that most programming languages
when you're starting out,
you're not going to have to spend any money.
And I'll quickly go through some languages,
but this advice will apply generally
to any programming language.
So let's look at Java and Kotlin,
two very popular programming languages.
The great news about those is the IDE,
the integrated development environment or editor,
that's where you type in your code.
There's lots of different vendors out there
who make the products and pretty much all of them are free.
So, looking at JetBrains, the IntelliJ product.
JetBrains is the company, the IntelliJ product
comes in a Community edition, which is completely free
and that's the one that I recommend most people
starting out would use.
And they've also got an Ultimate edition.
And the Ultimate edition is the one
where you have to pay money.
But we'll talk more about the advanced or ultimate editions
of products a little bit later.
And there's other products like
NetBeans is another example, Eclipse,
so there's lots of different choices there
and pretty much all of those, or all of them,
are free in their basic versions.
Now, if you wanted to get into Microsoft products,
say C# as one example, Visual Studio by Microsoft
is another product that's also got a free edition,
I think it's called the Community edition,
if memory serves, but there's also,
they've got advanced editions,
they've got a Professional version,
an Enterprise versions as well.
And it's only once you can enter
the Professional or the Enterprise editions
that you start having to pay for those.
And they're both fully featured and they work with most
if not all of Microsoft's languages.
So you can do your .NET development task,
C# which I know is part of .NET,
but also the Embedded C code you're given
and also C++ and their other programming language
Visual Basic is another one in the .NET platform.
So most of those languages work nicely
in their integrated development environment, their IDE.
And again, there's a paid version and a free version.
But, when you're starting out,
you certainly don't need to spend any money.
That's Microsoft's options.
If you're getting into something like Python,
well the great news about Python is
there's also free editors there.
And another one IntelliJ actually,
which I talked about at the start of the video,
that's also got a Python module.
If you've got IntelliJ already installed,
it's free, you can download the plug-in into IntelliJ
and that gives you Python support
and you can do all your Python programming in there.
That's also cross-platform as well, which is fantastic.
I'd suggest you look at that,
IntelliJ again is great for that.
But there's also a dedicated product called PyCharm.
PyCharm is really just IntelliJ but optimised for Python.
And in actual fact, it's the same as if you downloaded
and used IntelliJ with the Python plug-in.
But some people prefer to buy that.
So that's a great option.
And other programming languages in general,
a great option for you to look at is,
again by Microsoft, Visual Studio Code.
So this is a different product than Visual Studio.
Visual Studio Code is an open-source editor
and it works for pretty well,
what I'd say all programming languages,
but there's so many languages that it supports,
it's not funny.
It's also cross-platform, Windows, Mac and Linux.
A great place to start.
Not the easiest of editors to learn.
So if you're starting out as a programmer,
I'd probably steer you more towards the other editors
I talked about earlier in the video.
But Microsoft make a great editor,
their Visual Studio product is fantastic,
and it's flowed into Visual Studio Code and again,
it's not only cross-platform but it's open-source.
And there's contributors,
you can contribute yourself if you're a developer.
So that product, every month they release a new version
on the three platforms, again Windows, Mac and Linux,
which is fantastic.
So I would suggest that because that supports
most programming languages and again is free,
you don't need to pay anything there.
And what I didn't say with Visual Studio,
by the way, their full sort of blown IDE,
that has got a Windows version which has been
out for probably 20 plus years now.
It's been constantly evolved,
or it has constantly evolved since then.
But also there's a Mac version as well,
they haven't got a Linux version to my
best of my knowledge at the moment.
But I wouldn't be surprised at all
if they released that at some point in the future.
So the bottom line here is that all the basic tools
you need to get started as a programmer are generally free.
And that's fantastic because it means you can just
concentrate on learning a programming language
and not have to cough up, so to speak,
too much money or any money.
But once you start getting more into,
you know, you've been through a few programming courses
or you've started a programming job,
then it might be time to start
looking at paid versions of software.
Now obviously if you're working for someone
then perhaps they've already got the paid version
and you may not have to pay for that yourself.
But you might decide to get into some of those
ultimate or advanced or professional versions.
And the difference between those and the basic versions
that I've talked about is they offer
specific functionality or a more advanced software.
So in the case of IntelliJ for example,
they offer the Ultimate edition and that's got
advanced tools for things like Java Enterprise edition,
so we're starting to work with applications
that work with big data sets and so forth
and written for enterprise customers.
So it's sorta large-ish type code.
They've got functionality in there to make things easier
for you as a developer when you're doing that specifically.
There could be a stage at some point in the future
where you have been through the basics
and you're wanting to focus and specialise,
then you can start looking at those advanced tools.
And likewise, there's lots of different toolkits
and lots of other frameworks and so forth that are free,
but there's also some that you can actually pay for as well.
Now in the case of IntelliJ, for example,
there's a heap of plug-ins.
And now most of those plug-ins are free.
So if you wanna perform a particular bit of functionality,
chances are that someone's written a plug-in for that
and you can go to their plug-in,
basically there's a plug-in area that you can go to
in the software, and you can search for
a particular bit of functionality
and just load in the plug-in.
So the good thing is that a lot of these IDEs or editors
have got that functionality built-in
so that you may even if you want to
specialise in a specific thing,
you may not have to spend any money still.
But again, in the case of those advanced ones,
you will get to a stage at some point,
again in the example I used for IntelliJ
was the Java Enterprise edition,
if you're using that sort of functionality
then chances are you'll need to invest in
the Ultimate edition or you'll find that
there's only support for a particular bit of functionality
in that Ultimate edition because,
think about it, these companies who make these editors,
Microsoft and JetBrains and so forth,
they're actually in it to make money.
So, you know, they need to make money somehow
and I don't begrudge them doing that.
The great thing though is that a lot of the free versions
will stand you in good stead
and you won't have to spend any money.
Two other things I want to continue with
just to reiterate the free versions that I'm talking about,
they aren't trial versions,
they are fully featured versions that don't expire,
so I'm not suggesting the you need to
or you can only use it for 30 days and then that's it,
they are fully featured and basically
you'll never have to upgrade if you don't want to.
The other thing I didn't talk about
but I just wanted to briefly mention,
mobile app development as well
because there's a couple of options there.
We've got for the Android platform,
Android Studio is the free software that Google provide.
Fantastic for Android app development,
is constantly evolving and constant being
updated and fixed and coincidentally,
under the hood, Android Studio is actually
JetBrains' IntelliJ Community edition.
So, you would see that if you have been using IntelliJ
and switch over to Android Studio,
you'll see a lot of similarities and that's because
under the hood, the products are basically the same.
What Google have done is over the top of that
they've added Android functionality
specific to the Android platform.
So that's also cross-platform,
so that'll work on Windows, Mac and Linux.
And swinging over to the Apple side of things,
we wanna get into iPhone, iPad or even Mac apps,
then Apple have got a product Xcode
and that will allow you to do that.
That's also free.
Android Studio is free and so is Xcode.
The downside about Xcode is that it's Mac only.
And that's obviously Apple's infrastructure,
that's their platform.
But it is free so you'll need a Mac generally.
Or you can use something called a Hackintosh
and I'll put a link in the video description
to a video about Hackintosh
if you wanna understand what that is.
But the bottom line here, hopefully now,
is you've got a good idea that pretty well
all the basic things you need are free.
And it's only when you start getting into more
advanced things, more advanced functionality,
and you've got more experience under your belt
that you can consider the need to actually spend money.
Alrighty, so I hope that helped.
If you've got any questions,
feel free to leave a comment and I'll get back to you.
If you're ready to look at the next tip,
click on up here and you can check that out.
If you're interested in coding specific programming videos,
click on the link in the bottom left hand corner.
Consider subscribing by clicking on the link up here
and I'll see you soon.