Dipping Toes Into Programming
-
@scottalanmiller said in Learn to Code Python with Thonny:
@tim_g said in Learn to Code Python with Thonny:
Are you getting into a lot of programming / software development lately yourself?
Me? Yes, I am. I was a developer before I came to IT (dev since '89, IT since '94) and it is great to be back in it again. I've got Visual Studio Code open pretty much all day now! Loving it.
I've done around 100 commits just this week.
I'm thinking about stepping into that realm myself for fun to start. Mostly because I find myself needing good IT software and web interfaces that don't exist. I like the idea of it, but find it hard to get started.
My end goal is to be able to intelligently write bits of software that are able to communicate and interact with APIs like REST API, to display and manipulate data on HTML5 pages.
I'm not sure where the best place is to begin, though I haven't yet done a lot of research because I'm so busy doing and learning IT stuff in my spare time. However, I was thinking Javascript may be a good place to start, and if not, Python.
What would you (or anyone in that world) suggest to start with in my spare time keeping my end goal in mind?
-
This would be great - if I had the patience... I don't... sadly I have a number of tasks I wish to do,.. all need some level of programming of some kind.... and I've not been able to enlist anyone to help...
-
Python is good for learners. And good for system scripting or local interfaces.
JavaScript is good for server applications.
What kind of project are you considering?
-
Python is a great first language, lots of practical uses too. Python + Django would get you creating your own web apps. Python + Tryton and you can create your own ERP
-
@scottalanmiller said in Dipping Toes Into Programming:
Python is good for learners. And good for system scripting or local interfaces.
JavaScript is good for server applications.
What kind of project are you considering?
Basically, I would like to be able to create something like Saltpad, or at least enough to be able to fork something like that and take it in a custom direction I would like, but not necessarily having to do with SaltStack. That's just an easy example that poked my dormant interest, or got me started thinking about it. Same goes for SodiumSuite.
It seems my first step would be learning Javascript, even though Python seems easier for learning.
I do have a side-interest in web applications and web design, so I think I would get the most benefit out of Javascript. My main joy is IT, so of course any programming I learn would be geared towards being leveraged for IT usage.
-
I was comparing some different IDEs for JavaScript, and unless someone can get WebStorm for free, it looks like Visual Studio Code is the real winner.
-
@tim_g said in Dipping Toes Into Programming:
I was comparing some different IDEs for JavaScript, and unless someone can get a free copy of WebStorm, it looks like Visual Studio Code is the real winner.
Yes, we definitely consider VS Code the big winner, with Atom being the second place contestant (Code is built from Atom, so Atom sort of wins anyway) against those. @QuixoticJeremy and I were just discussing WebStorm vs. VS Code last night, as he uses both. And he feels that they are pretty evenly matched - not considering the price. But with one being free and open, and the other being expensive and closed, it's a clear win on the Code side.
-
@flaxking said in Dipping Toes Into Programming:
Python is a great first language, lots of practical uses too. Python + Django would get you creating your own web apps. Python + Tryton and you can create your own ERP
Oh yeah, you can do anything with it.
-
@flaxking said in Dipping Toes Into Programming:
Python is a great first language, lots of practical uses too. Python + Django would get you creating your own web apps. Python + Tryton and you can create your own ERP
I did a search on Django + Python + REST API... this looks very interesting as well, maybe even preferable.
It led me to this: https://scotch.io/tutorials/build-a-rest-api-with-django-a-test-driven-approach-part-1
and this: https://scotch.io/tutorials/build-your-first-python-and-django-applicationSo now what I need to know is what are the benefits of going Python/Django vs JavaScript for what I'm looking to achieve?
Why are some, such as the Saltpad project, using JavaScript instead? Why may they not have chosen Python?
-
@tim_g said in Dipping Toes Into Programming:
So now what I need to know is what are the benefits of going Python/Django vs JavaScript for what I'm looking to achieve?
Why are some, such as the Saltpad project, using JavaScript instead? Why may they not have chosen Python?
Python: More traditional, object oriented general purpose language. Can only be used on the server, not the client. DJango is an old framework. Model is based around core engine speed.
JS: Less traditional, prototype "specific purpose" language. Used for both the server and the client work. NodeJS is a very modern framework that relies on a non-blocking model for performance.
-
Without me knowing so much about this at this point, which makes more sense to use in the way I wish to use it?
Mostly for my reference later when I have time, below:
Python
Flask vs Django:
https://www.codementor.io/garethdwyer/flask-vs-django-why-flask-might-be-better-4xs7mdf8vPython WebFrameworks:
https://wiki.python.org/moin/WebFrameworksJavaScript
JavaScript Frameworks:
https://hackernoon.com/5-best-javascript-frameworks-in-2017-7a63b3870282ReactJS vs AngularJS:
https://da-14.com/blog/reactjs-vs-angular-comparison-which-better -
Honestly PHP is probably your best bet.
-
@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.
-
@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
-
Many of my programmer friends have recommended this: https://learnpythonthehardway.org/ if you're interested in Python specifically
-
@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.
-
@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.
-
@tim_g said in Dipping Toes Into Programming:
I wouldn't even start touching ReactJS until I would be well into JavaScript anyways. .
The selection of language would never lead to a change in desire for a framework. Frameworks are identical regardless of the language uses. JS gives you nothing that Python doesn't. So if you want a framework with one, you want it with the other. If not with JS, then not with Python either.
-
@tim_g said in Dipping Toes Into Programming:
With Django, I would start both at the same time, as my focus would purely be on the web side first, I think.
Why treat them so differently?
-
@scottalanmiller said in Dipping Toes Into Programming:
@tim_g said in Dipping Toes Into Programming:
With Django, I would start both at the same time, as my focus would purely be on the web side first, I think.
Why treat them so differently?
From my understanding, Python doesn't do jack for front-end output on a web page without something like Django... where as JavaScript can be put into whatever existing pages you have... be it WordPress (or WP plugin), a simple HTML5 page (simply display the JS where you want), your own stuff, or whatever.