# Starting from 0



## gabada (Sep 21, 2017)

Hello guys , 
I m new here and would like to have some advice .
Want to start programming from 0. I have got no experience , where can I start ? Which language I should for first ? 
Thank you


----------



## Toothless (Sep 21, 2017)

Python.


----------



## gabada (Sep 21, 2017)

Toothless said:


> Python.


Python 3 or 2 version ?


----------



## kn00tcn (Sep 21, 2017)

gabada said:


> Python 3 or 2 version ?


why would you want to start out of date? 3 of course, it's already almost a decade old (!)

i want to learn python as well, should we do it together? i have years of other languages though...

have you searched various articles about this very topic or you prefer users to choose for you with first hand experience?

edit: very important questions: what is your goal? why? what do you want to make? do you feel left behind in education or society or career path?


----------



## Vya Domus (Sep 21, 2017)

Depends what you want to achieve.

If you just want to get a job as a coder , then look towards high abstraction languages usch Java and Phyton.

If however you also want to gain some serious programming/computer science knowledge in conjuncture with this start with C.


----------



## gabada (Sep 21, 2017)

Vya Domus said:


> Depends what you want to achieve.
> 
> If you just want to get a job as a coder , then look towards high abstraction languages usch Java and Phyton.
> 
> If however you also want to gain some serious programming/computer science knowledge in conjuncture with this start with C.




Mostly for Career ... for sure ... there are tons of jobs where they want Phyton and Java developers, ( also C,C++ and etc but) this languages are priority.


----------



## Vya Domus (Sep 21, 2017)

gabada said:


> Mostly for Career ... for sure ... there are tons of jobs where they want Phyton and Java developers, ( also C,C++ and etc but) this languages are priority.



Honestly , if you want my advice don't start learning something because it's very popular but rather chose a flied where you would like to work and then look at what tools you need (languages , frameworks , APIs, etc). If you do it backwards you're going to be a lot more difficult to built a good skill set.


----------



## MustSeeMelons (Sep 21, 2017)

+ 1 for thinking about what you want to be doing: front-end, back-end maybe even hardware? Need to find one language and stick to it for a while till you have grasped the concepts of programming, after then you may choose whatever language you want, so why not choose C++?


----------



## kn00tcn (Sep 21, 2017)

gabada said:


> Mostly for Career ... for sure ... there are tons of jobs where they want Phyton and Java developers, ( also C,C++ and etc but) this languages are priority.


here is the problem, if everyone knows the same language, & you're NOW starting to learn, then how do you have a chance? these job offers have hundreds of applicants

the important thing is can you work on a project both on your own & within a team (you can contribute to an open source one for practice), the language doesnt matter that much at first since you'll eventually learn multiple languages (a lot are quite similar, the concepts dont change much)

are you in the country of georgia? are you planning to learn on your own or have a dedicated school? https://cseducators.stackexchange.c...aduate-degree-in-cs-still-need-to-learn-to-be here is an important discussion about jobs


----------



## bug (Sep 21, 2017)

+1 for starting high-level and working your way down. Python is nice, Go I think is a good option too (good documentation, pretty much everything and the kitchen sink is built in, doesn't require much tooling, yet teaches you a bit about compiling). Java is also good, but has a steeper learning curve than Python or Go.
Make a list of a handful of candidates, write something simple like reading from a file an determining the frequency of words while outputting the result in a human readable format in each language and then decide for yourself which one you feel more comfortable with.


----------



## gabada (Sep 21, 2017)

You know , I have a friend with pretty much developer skills and experience . When I see what can he do with this knowledge , it s crazy . 
Little by little to learn something , try something and move forward with earned experience and knowledge is not bad at all . Maybe it can be hard for me to become such a developer , but I think main is to try hard . 
Nowadays I have got no ideas what can I do with this but , time by time getting nice knowledge and skills it can become absolutely clear what can I DO with this and how to use it .


----------



## bug (Sep 21, 2017)

gabada said:


> You know , I have a friend with pretty much developer skills and experience . When I see what can he do with this knowledge , it s crazy .
> Little by little to learn something , try something and move forward with earned experience and knowledge is not bad at all . Maybe it can be hard for me to become such a developer , but I think main is to try hard .
> Nowadays I have got no ideas what can I do with this but , time by time getting nice knowledge and skills it can become absolutely clear what can I DO with this and how to use it .


Yes, well, not every programmer has what it takes to invent Google or Facebook. But when you learn how to program, ideas will come to you. Whether you start a pet project and put it on Github for everyone to enjoy or write a neat new game and decide to cash in on Play Store or App Store, the possibilities are endless. Including the possibility you find out programming is not for you and you loose interest.


----------



## Mindweaver (Sep 21, 2017)

I would start out with c# and SQL or maybe even HTML and CSS. Download *Visual Studio 2017*. Python and c++ are good as well, but may not be as satisfying early on. I don't know what OS you prefer, but here is the download for *windows Python*. I'm currently using 3.6.2. You can use Visual Studio 2017 to write Visual c++. Either way come back here and share or ask question if you have any trouble.


----------



## bug (Sep 21, 2017)

Mindweaver said:


> I would start out with c# and SQL or maybe even HTML and CSS. Download *Visual Studio 2017*. Python and c++ are good as well, but may not be as satisfying early on. I don't know what OS you prefer, but here is the download for *windows Python*. I'm currently using 3.6.2. You can use Visual Studio 2017 to write Visual c++. Either way come back here and share or ask question if you have any trouble.


No. C# + Visual Studio is a very poor choice for learning how to program, imho. VS in particular will automate so many tasks for you, you won't actually have a grasp on what you're actually doing. Also, avoid Windows like the plague if possible. Use Linux in a VM if you have to, or even WSL on Win10. Windows and VS make things look appear easy with their click this and that approach, but they hide so much from you, you won't have any idea of how much you've learned and how much ground you still have to cover.
Of course, IDEs are there for a reason, so feel free to use any of them once you feel confident enough (that means you're comfortable compiling, packaging and deploying from the command line). It will save you from picking up many counterproductive habits.

Also, if you go with Python, none of the above applies. Python has bindings for everything in Linux, allowing you to integrate with pretty much everything you can think of. But I don't know if it has the same (or similar) bindings on Windows.


----------



## Mindweaver (Sep 21, 2017)

bug said:


> No. C# + Visual Studio is a very poor choice for learning how to program, imho. VS in particular will automate so many tasks for you, you won't actually have a grasp on what you're actually doing. Also, avoid Windows like the plague if possible. Use Linux in a VM if you have to, or even WSL on Win10. Windows and VS make things look appear easy with their click this and that approach, but they hide so much from you, you won't have any idea of how much you've learned and how much ground you still have to cover.
> Of course, IDEs are there for a reason, so feel free to use any of them once you feel confident enough (that means you're comfortable compiling, packaging and deploying from the command line). It will save you from picking up many counterproductive habits.
> 
> Also, if you go with Python, none of the above applies. Python has bindings for everything in Linux, allowing you to integrate with pretty much everything you can think of. But I don't know if it has the same (or similar) bindings on Windows.


To each their own. I'm only offering my suggestion, but I do hear you. I just can't agree with you. Like I said I don't know which OS he uses. I'm not going to tell someone who may never used Linux before to learn how to use Linux, and then start coding for said OS. I'm just thinking of the quickest way to start learning how to code now. Now if he came back after what I said and told me he has a Linux background then sure jump straight into Python.


----------



## RCoon (Sep 21, 2017)

gabada said:


> Mostly for Career


C#

Go sign up to Microsoft Virtual Academy and learn from the greatness that is Bob Tabor. There's also a free C# in Unity guide on DevU.com if you're looking at creating 2D and 3D games in Unity using code.

After working with and supporting people learning Python, I am apprehensive to recommend it.

C# Fundamentals: https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169
C# in Unity: https://courses.devu.com/courses/unity

Visual Studio 2017 is free to download and use provided you have a MS account.


----------



## Frick (Sep 21, 2017)

Or for something more interesting (IMO), go for integrated systems and VHDL. Then you have electronics as well. Also PLC's. If you become really good at such systems you can write your own paychecks (not really but you get the idea).


----------



## bug (Sep 21, 2017)

Mindweaver said:


> To each their own. I'm only offering my suggestion, but I do hear you. I just can't agree with you. Like I said I don't know which OS he uses. I'm not going to tell someone who may never used Linux before to learn how to use Linux, and then start coding for said OS. I'm just thinking of the quickest way to start learning how to code now. Now if he came back after what I said and told me he has a Linux background then sure jump straight into Python.


With that mindset, you might have well suggested w3schools or something similar 
I'm not saying he should forsake Windows if that's al he knows, I'm just saying Windows is about the worst place to start learning how to program. If given a choice, starting elsewhere is better.


----------



## Mindweaver (Sep 21, 2017)

bug said:


> With that mindset, you might have well suggested w3schools or something similar
> I'm not saying he should forsake Windows if that's al he knows, I'm just saying Windows is about the worst place to start learning how to program. If given a choice, starting elsewhere is better.


I think I did suggest w3schools when I said HTML or CSS. 



RCoon said:


> C#
> 
> Go sign up to Microsoft Virtual Academy and learn from the greatness that is *Bob Tabor*.



+1 - Bob Tabor teaches very well.


----------



## gabada (Sep 21, 2017)

Thanx guys , I have heard lots of today . I want to learn linux as well  . I might use it to learn python , 1 shot 2 rabbits .


----------



## bug (Sep 21, 2017)

gabada said:


> Thanx guys , I have heard lots of today . I want to learn linux as well  . I might use it to learn python , 1 shot 2 rabbits .


Not a bad choice. Have fun


----------



## phanbuey (Sep 21, 2017)

teamtreehouse.com

python is good.  I prefer C# because healthcare...  once you learn one its easier to pick up the others.


----------

