I want start with python but I don't know what operating system and tools to use. I have a 6 RAM icore3 180 GB hard disk Notebook laptop running Linux mint. I plan to save up to Buy a PC in the future but for I have to make due my old laptop
I am also wondering how does the programming market look like in terms of operating system. Does it matter which operating system you use? In terms of programming institutions (universities bootcamps, etc..), do each institutions have its own preference or does it let its student choose?
You're overthinking this. You can almost always get by with whatever system you already have available, until you get a full job, at which point the job will probably provide you with a machine.
You're on Linux Mint already, which is great. As others have said, Linux drives the world. Pretty much anything you write for a server will be running on Linux.
There's a high likelihood that universities will either have a programming environment from before 2010 or before 2020. They are often slow to change. Bootcamps mostly use the tools that are most hip.
If you want to start with Python, I recommend and integrated development environment (IDE) like PyCharm. It handles a great deal for you and allows you to learn the low level stuff and python tooling at your own pace. Stuff like virtual environments, debugging with breakpoints, documentation,
If you're interested in anything surrounding data science JupyterNotebook is great as it allows you to see the output of your code as you progress. That output can also be visual (graphs, images, variable values, etc.)
I want start with python
Start with futurecoder.io.
Bookmark:
- The official documentation for Python
- realpython.com [stick to the free content]
.
Don't pay for a bootcamp.
If you want to get a degree, consider WGU.edu
Good luck, have fun!
Agree on the bootcamp part, but 8k a year for a degree? Hopefully OP has more options than that
Are you from somewhere that's not the US? University of Southern California is not a particularly stand out school for academics costs 80k per semester. 8K a year is hard to beat in the US.
I've had the opposite experience at my past and current job.
I've always been given the choice of Windows or MacOS, with a remote Linux machine available if needed (first job I ran remote IDEs on it, second job I've gone full local development). Same with IDEs. As long as I was able to properly write and test code it did not matter what I used as both companies had licenses for the top IDEs (JetBrains suite, Visual Studio, etc.), and would buy one-offs if you wanted to use something else. There was always a general team convention simply due to ease of use, but I occasionally opted for a heavily modified VSCode workspace over PyCharm and the like.
Use the OS you are most comfortable with. When it comes to programmming try and learn 1 "thing" at a time. If you trying to learn Python and how to use Linux as well as Python then you learning 2 (or more..) things at once so stick with what you know for now. If you are comfortable with Linux (or Mint as you say) then stay with that because I have found running Python on Windows is a Pain but that could just be the environment we are using. Good Luck and Have fun!
Linux (because Unix was originally created for programmers), and C because so many other languages derive from it.
Learn the language (types, functions, how to set up a project, etc), then learn the library (you can use the man pages from Linux).
You can use this knowledge for Python, as Python uses the library too, under the hood.
Programming has very low hardware requirements, much lower than web browsing. Just don't get sucket into the whole maelstrom of people trying to convince you that you need a bunch of complicated tools. If you are just stating out, Gedit or equivalent will work out just fine.
In terms of operating systems, if given the choice professionals tend to congregate around Linux and MacOS as the development experience historicaly has been much better due to having access to a proper terminal. This is something you want to familiarize yourself with if you haven't already. Other factors may apply, especially in professional environments, where clients / employers mandate the use of Windows or something else, but this probably does not apply to you.
Universities usually have their curriculum, which is rather narrow in the beginning and widens in later terms, especially in masters classes. When it comes to teaching fundamentals, language and tools really does not matter much. It's more about keeping things manageable for the teacher.
If all you want is to familiarize yourself with some basic programing concepts, programming language constructs (types, expressions and control statements like if and while) and was able to solve some simple problems with basic algorithms, I think your current setup is enough. You can learn all these on your 6 GB RAM laptop.
But if you were gonna learn programing in certain domains, for exmaple, most of deep learning things is both computing intensive and IO bound, you might be forced to consider upgrading your PC.
Doesn't depend on programming language but something with visual debugger. You know that stuff when you can see current line of your source code highlighted, press a key to step into, step over and so on. You can see values inside your variables. You can also change your variables mid-run right form the debugger.
Because you spend 20% of your time writing bugs and the other 80% debugging them. At least make it pleasant experience (no printf-style debugging).
Back in the day I was using Turbo Pascal, Delphi, Visual Basic, C#, Java, PHP with Zend, Java Script, today I'm using Visual C++.