Dipping Toes Into Programming
-
@scottalanmiller said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
@romo said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
@scottalanmiller said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
@flaxking said in Dipping Toes Into Programming:
@tim_g
Flask is an unassuming simple framework. It is good for creating something simple, or for creating something complex and cutting edge where you need flexibility. In order to build out a webapp, you would need to learn more components than just Flask.
Django is a monolithic framework, batteries are included. You just have to learn Django in order to build a web app. You don't have to create things from scratch, but there are certain ways to do things, so there is less flexibility. It takes longer to learn Django, because there is so much more there. But when you do learn it, you can pump out web apps pretty fast. With Flask there are other things you have to learn, and you have to figure out how you want them to interact.
Once you have a decent amount of Python, you can learn at least the basics of Flask in a day, and then look at learning Django too.
If you're interested in messing around with Salt, I think Python is the way to go. Salt's code is pretty easy to understand and work with for junior devs, and you can start making your own customizations.
Thanks for the explanation, it helps a lot.
This narrows it down to the following:
- Python / Django
- JavaScript / ReactJS
ReactJS is just an interface layer, it's not a framework like Django.
Yes I'm not as worried about having a full framework like Django for JavaScirpt. ReactJS seems to hit all the check boxes I'm looking for though.
I wouldn't even start touching ReactJS until I would be well into JavaScript anyways. And at that point, it may be that I change my mind and want something else once I understand everything much better.
With Django, I would start both at the same time, as my focus would purely be on the web side first, I think.
I will recommend you read more about server-side rendering and client-side rendering to really decide what are you going to use when building your apps/web pages. There is really nothing to compare between Django and ReactJS, they can even work together since one can be used as backend and the other as the frontend.
Django is batteries included framework which by default is used to render web templates server side; It can just as easily be used with the Django-Rest-Framework to create Rest APIs and be consumes by your client-side javascript libraries/frameworks.
ReactJS is a library mainly used for client-side rendering and building SPAs, you can use is to render server side using something like Nextjs but that is not its most common usage.
Yes I get they can all be used together, but I need to start somewhere. I don't know any Python or JavaScript. I need to start there. I feel Python is the best place to start, at least until a more general understanding of it, then get into Django with Python.
Probably starting on "non-web" is good. Learning web first is very confusing.
I agree, first learn the basics of the languages and then start with the web stuff.
-
@tim_g said in Dipping Toes Into Programming:
I found this website which looks interesting and helpful:
That is great as well, I would totally recommend it.
Udacity also has several really good Python courses which I will also recommend you to check out.
-
If you are going to be choosing Python over the JS / NodeJS ecosystem, check out Python Tornado.
-
Main page: http://www.tornadoweb.org
-
@tim_g said in Dipping Toes Into Programming:
I found this website which looks interesting and helpful:
Yep, that would be a good one. Here are some more
https://python.swaroopch.com/index.html
http://getpython3.com/diveintopython3/
https://anandology.com/python-practice-book/index.html
http://greenteapress.com/thinkpython/html/index.html -
I started with Python last night for about 45 minutes..
I feel like I'd rather learn JS first, but it seems learning both is best. So starting with Python then Django, then JavaScript. They all go together, but Python seems to have more overall uses in IT.
-
@tim_g said in Dipping Toes Into Programming:
I started with Python last night for about 45 minutes..
I feel like I'd rather learn JS first, but it seems learning both is best. So starting with Python then Django, then JavaScript. They all go together, but Python seems to have more overall uses in IT.
Yes, JS really has no applicability to IT tasks.
-
@tim_g said in Dipping Toes Into Programming:
I started with Python last night for about 45 minutes..
I feel like I'd rather learn JS first, but it seems learning both is best. So starting with Python then Django, then JavaScript. They all go together, but Python seems to have more overall uses in IT.
Yes, there are so many Python modules out there that you could probably almost replace Powershell with it.
-
@Tim_G imho the best way to learn python is try to rewrite some of your PS scripts with it.
Also if you plan webapps Django is ok. For REST API flask is a better option imho.
My last application in python was done with flask appbuilder. A sort of small django.Visual studio code is your best bet for interpreted languages.
I see you have made your choice. Btw I strongly recommend python over js for a newbie too. because the non blocking concurrent logic of js tends to blow your brain in the beginning.
-
@flaxking said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
I started with Python last night for about 45 minutes..
I feel like I'd rather learn JS first, but it seems learning both is best. So starting with Python then Django, then JavaScript. They all go together, but Python seems to have more overall uses in IT.
Yes, there are so many Python modules out there that you could probably almost replace Powershell with it.
Completely replace it, definitely. Python is the most universal automation language for systems administration. You can run Python on .NET, on Java, on the OS directly (with the standard interpreter), it predates PowerShell as the hard core scripting language for Windows automation. It's great because it works on Linux, Solaris, BSD, MacOS, etc. as well.
SaltStack is written in Python and does essentially anything you can imagine.
-
@matteo-nunziati said in Dipping Toes Into Programming:
Visual studio code is your best bet for interpreted languages.
I agree. My top three picks for Python would be...
- Visual Studio Code
- Atom
- PyCharm
-
@matteo-nunziati said in Dipping Toes Into Programming:
@Tim_G imho the best way to learn python is try to rewrite some of your PS scripts with it.
Also if you plan webapps Django is ok. For REST API flask is a better option imho.
My last application in python was done with flask appbuilder. A sort of small django.Visual studio code is your best bet for interpreted languages.
I see you have made your choice. Btw I strongly recommend python over js for a newbie too. because the non blocking concurrent logic of js tends to blow your brain in the beginning.
Cool, I'll keep Flask in mind when I get to that point.
-
@matteo-nunziati said in Dipping Toes Into Programming:
isual studio code is your best bet for interpreted languages.
Yes I agree, but to start learning, I'm using Thonny. I like how it debugs through code and how you can step through it as well as it's visual help. I compared the same thing to VSC, and seems like Thonny is better for gettign started.
-
@tim_g said in Dipping Toes Into Programming:
@matteo-nunziati said in Dipping Toes Into Programming:
isual studio code is your best bet for interpreted languages.
Yes I agree, but to start learning, I'm using Thonny. I like how it debugs through code and how you can step through it as well as it's visual help. I compared the same thing to VSC, and seems like Thonny is better for gettign started.
Yes. As a learning tool thonny is a better start. That's thonny goal in the end!
-
@scottalanmiller said in Dipping Toes Into Programming:
@flaxking said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
I started with Python last night for about 45 minutes..
I feel like I'd rather learn JS first, but it seems learning both is best. So starting with Python then Django, then JavaScript. They all go together, but Python seems to have more overall uses in IT.
Yes, there are so many Python modules out there that you could probably almost replace Powershell with it.
Completely replace it, definitely. Python is the most universal automation language for systems administration. You can run Python on .NET, on Java, on the OS directly (with the standard interpreter), it predates PowerShell as the hard core scripting language for Windows automation. It's great because it works on Linux, Solaris, BSD, MacOS, etc. as well.
SaltStack is written in Python and does essentially anything you can imagine.
All reasons that persuaded me to start with Python instead of JS... though I do want to learn JS in the end due to it's awesome web usefulness stuff and web browser integration.
-
@scottalanmiller said in Dipping Toes Into Programming:
@flaxking said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
I started with Python last night for about 45 minutes..
I feel like I'd rather learn JS first, but it seems learning both is best. So starting with Python then Django, then JavaScript. They all go together, but Python seems to have more overall uses in IT.
Yes, there are so many Python modules out there that you could probably almost replace Powershell with it.
Completely replace it, definitely. Python is the most universal automation language for systems administration. You can run Python on .NET, on Java, on the OS directly (with the standard interpreter), it predates PowerShell as the hard core scripting language for Windows automation. It's great because it works on Linux, Solaris, BSD, MacOS, etc. as well.
SaltStack is written in Python and does essentially anything you can imagine.
One thing that caught my attention is how well Python works with the major databases. That will be a big help later.
-
@tim_g said in Dipping Toes Into Programming:
@scottalanmiller said in Dipping Toes Into Programming:
@flaxking said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
I started with Python last night for about 45 minutes..
I feel like I'd rather learn JS first, but it seems learning both is best. So starting with Python then Django, then JavaScript. They all go together, but Python seems to have more overall uses in IT.
Yes, there are so many Python modules out there that you could probably almost replace Powershell with it.
Completely replace it, definitely. Python is the most universal automation language for systems administration. You can run Python on .NET, on Java, on the OS directly (with the standard interpreter), it predates PowerShell as the hard core scripting language for Windows automation. It's great because it works on Linux, Solaris, BSD, MacOS, etc. as well.
SaltStack is written in Python and does essentially anything you can imagine.
One thing that caught my attention is how well Python works with the major databases. That will be a big help later.
Definitively the most complete language imho. Js is all nosql. I'm currently looking at asp.net core 2.0 and there are less "production ready" solutions even here.
Python has libs for almost any kind of db. And even a really powerful (but complex) orm! -
@tim_g said in Dipping Toes Into Programming:
@scottalanmiller said in Dipping Toes Into Programming:
@flaxking said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
I started with Python last night for about 45 minutes..
I feel like I'd rather learn JS first, but it seems learning both is best. So starting with Python then Django, then JavaScript. They all go together, but Python seems to have more overall uses in IT.
Yes, there are so many Python modules out there that you could probably almost replace Powershell with it.
Completely replace it, definitely. Python is the most universal automation language for systems administration. You can run Python on .NET, on Java, on the OS directly (with the standard interpreter), it predates PowerShell as the hard core scripting language for Windows automation. It's great because it works on Linux, Solaris, BSD, MacOS, etc. as well.
SaltStack is written in Python and does essentially anything you can imagine.
One thing that caught my attention is how well Python works with the major databases. That will be a big help later.
They all really do that. Database integration isn't lacking from any major language.
-
@matteo-nunziati said in Dipping Toes Into Programming:
Definitively the most complete language imho. Js is all nosql.
JS has no particular affinity for NoSQL any more than for relational databases. There is a trend in the NodeJS community to lean towards NoSQL, and there is a trend in language like Python and Ruby to lean towards relational - but it has nothing to do with the language or capabilities, but only the kinds of projects people are popularly making with those languages. And often it's nothing more than one or two famous frameworks creating the impression.
-
I’ve been doing a lot with Go lately and I think I’m going to start using that for most things I do. It’s probably the most cross platform available language. I’m not a dev in any way but it’s pretty easy to pick up. Web stuff is really easy with it as well.