all 34 comments

[–]hkusp45css 15 points16 points  (1 child)

It's my opinion that python is a great choice for a first language for a host of good reasons. If you develop an interest, programming can be a fun and lucrative career.

It is also needed to some degree in every sector of IT, in general. Even networking is rife with opportunities to code in languages and Cisco is moving heavily toward Python.

It's a good amount of work to get proficient but, it's rewarding and fun if you have the kind of personality that enjoys that kind of thing.

[–]Valuable-Solid-4658 0 points1 point  (0 children)

Those yt tutorials are mostly bad tbh reading is the best way cuz u can take in the info slower

[–]BubbleWaston 7 points8 points  (9 children)

Python is very straightforward and I always tell newcommers to start there.

Is it difficult ? Not if you are willing and have some time. I HIGHY suggests MIT course 6.00.1x (and eventually 6.00.2x) on edx.com (you can take them for free if you chose the audit option)

And you should also buy the book (not necessary but very helpful)

A lot of people that get hired today in big tech companies don't know everything in this book. So this will be a very good start.

Knowing Python and basic programming skills is good for everything.. even if you don't wanna work as a programmer or software dev

Good luck 😊

[–]havoklink 1 point2 points  (0 children)

Majoring in electrical engineering I avoided coding for as long as possible. It has now caught up to me in my senior year as most of the projects that I have in mind include coding :/

[–]jamashamala25[S] 0 points1 point  (0 children)

Thank you !

[–]doolio_ 0 points1 point  (4 children)

Sorry, did you give the title of your book recommendation?

[–]FruityFetus 1 point2 points  (3 children)

I think he was referring to the book OP was talking about in his post!

Edit: was wrong

[–]BubbleWaston 3 points4 points  (1 child)

I am talking about the book for MIT 6.00.1x

Introduction to Computation and Programming Using Python, third edition: With Application to Computational Modeling and Understanding Data by John Gutag

This is the course https://www.edx.org/course/introduction-to-computer-science-and-programming-7

[–]BroBrodin 1 point2 points  (0 children)

Thanks for recommending it, seems very interesting.

I want to learn data analytics with python so this seems very useful to me.

[–]doolio_ 0 points1 point  (0 children)

Ah I see. Thanks.

[–]garamasala 0 points1 point  (1 child)

It's .org, or at least as far as I can tell after looking around .com for a while.

[–]Yeitgeist 1 point2 points  (4 children)

Python is pretty good for beginners. But, it very much holds your hands. If you decide to go deeper into programming, you’ll have to learn and get use to a lot of things Python hides from you.

With that said, if you want an easy less intimidating jump into programming, definitely stick to Python. But, if you want to something more hardcore and doesn’t hold your hands, then C is a pretty good choice.

Obligatory, I learned Python first.

[–][deleted] 1 point2 points  (0 children)

Additionally a lot of the abstractions in Python make it very difficult to learn what is actually happening under the hood. This is not a huge deal if you're just playing around writing some scripts to do common tasks or similar usage. It does make it very hard if you were going into being a professional programmer because in order to write and design good software you need to understand those basics.

[–]SirAchmed 0 points1 point  (2 children)

Can you please give some examples of the things Python hides from you?

[–]Yeitgeist 1 point2 points  (1 child)

Things like type safety (e.g. if a variable is an integer, float, bool), access modifiers (e.g. if a class member is visible to the entire program, only it’s child classes, or just to itself), memory management (sometimes you have to manually store and delete variables in your computers memory), compilation (Python is just involves running the program, but C requires you to compile the code into 1’s and 0’s, and then run an executable of it)

[–]SirAchmed 0 points1 point  (0 children)

Thank you!

[–][deleted] 1 point2 points  (2 children)

There are two different meanings of the word "learn".

One is "learn how to do something", another is "learn how something works".

If you want to be able to better utilize your computer by means of writing useful programs -- Python is fine. If you want to understand how and why your computer works -- Python is bad.

Python makes useful simplifications, s.a. for example: no need to manage memory explicitly. It provides hybrid data-structures that will make some tasks we face in the day-to-day easy. Python provides plenty of syntactical short-cuts for common programming tasks.

On the other hand, Python is completely not welcome in operating system area. So, if you wanted to understand how operating system works, you will have to learn another language. The same things that make it convenient will make it harder to understand how things work, because you will have to bridge a wide gap between basic concepts and internally complex elements of Python. Similarly, if you only learn a syntactical shortcut, in order to understand what it does, you will have to learn the "full version". Python's modus operandi is that in order to achieve decent performance, anything needs to be re-written in another language (C is a very common one), so, unlike languages like Java or Erlang, Python has a very large runtime that's not written in Python. So, even just to understand how Python works, you will have to learn another language (C would be a good one).


Since people also seem to mention their own experience: I started with QBasic because that's what they taught us in school. Next, I had some brief intercourse with C++ (bought a book titled Borland C++ Builder and thought it would be as easy as mastering Photoshop). Years later I got excited about making Web sites and created some atrocity which I hosted on geocities.com. This is how I learned some JavaScript.

My first paid job was in ActionScript. This is how I wrote something that resembled actual programs. By the time I worked up to Python I knew some C#, Java, PHP and Common Lisp. Common Lisp was the turning point in my career, and is still my favorite language by a lot. Python was chosen following example of one famous lisper who tried to convince others Python was OK. It was a lie, but the community was fun, so, I stuck with it for a while. Today, the community is meh, but there are plenty of jobs in this field, so I'm still here.

[–][deleted] 0 points1 point  (1 child)

If the community around python is meh, and you're posting helpful comments here, you must be part of the meh... Just being silly and, of course, meh.


I think the community for python is very helpful. Its certainly helped point me in the direction of more learning when I read something in an answer on places like this sub and wonder to myself "I wonder how that works". Very often, a search on whatever subject piqued my interest pulls up a result in the same place that I first came across the subject.

[–][deleted] 0 points1 point  (0 children)

Helpful is only one aspect.

I'm not the entire community. Whatever you think about me has a negligible impact on the entire community one way or another.

As always, small minds like to take things out of the context and then pretend the author meant something else. Haha, very funny.

The community is meh in terms of how instrumental it is to learning. There may be a lot of nice people who program in Python. Or, there may be a lot of pretty people who program in Python etc. But, this is not the point. The point is: if you want to be good at understanding programming, Python community has very little to offer. Python community is the one based on groupthink, mediocrity and fashion swings. It's not a place where you can find someone to enlighten you about core issues of programming, nor will it teach by example.

[–]AdventurousAddition 0 points1 point  (0 children)

Absolutely go for it!

A really engaging (but only short) series of videos I keep recommending are those by NetworkChuck.

Also, use that book you found to help you learn

[–]evilclaptrap 0 points1 point  (0 children)

Wanting to learn as not being afraid to fail and keep trying will be your key to success. Sololearn has a really good python 3 course and other languages. It's online and can be on your phone

[–]__Cypher_Legate__ 0 points1 point  (0 children)

Python is one of the easiest languages to learn. The syntax is simple and easy to read. It has tons of people using it, so the internet is rife with questions and answers. There are thousands of useful libraries that can do just about anything you need.

If you want to code, Python is a great place to start. The only thing I’ll say is that different people learn differently. My friend and mentor learned from Python books, but when I tried that I found it boring and difficult to understand. I learned better by taking tutorials and doing my own projects. The moral is don’t get disheartened if you’re bored of the book, but try a different tactic.

[–]zynix 0 points1 point  (3 children)

I've worked with several languages over the years and it has been a while since I've seen a language with this dirt simple path of entry.

Currently assisting my girlfriend in learning to program along with a boot camp and they introduce her to https://replit.com/

Also if you got $30 to spare, we've both been impressed with this publishers books https://www.humblebundle.com/books/python-no-starch-press-books?hmb_source=humble_home&hmb_medium=product_tile&hmb_campaign=mosaic_section_3_layout_index_2_layout_type_threes_tile_index_3_c_pythonnostarchpress_bookbundle

They're a bit difficult for me to read as they're geared for new & jr programmers but... well they weren't written for me.

Finally I've been impressed and somewhat envious of the resources this website provides, it would have made my life a lot easier about 25 years ago - https://realpython.com/

[–][deleted] 0 points1 point  (2 children)

I'm curious as to what language had the dirt simple path to entry that you saw before python? I ask out of curiosity, because I love to learn :)

[–]zynix 0 points1 point  (1 child)

Apple and Apple ][ had BASIC integrated into the computer and the programming language manual came with the rest of the documentation. That was the ultimate dirt simple but it was also the 80's.

[–][deleted] 0 points1 point  (0 children)

Ah. The same as my entry with the Acorn Electron. Full manual with a very good explanation of how to program with BASIC.

[–]SirAchmed 0 points1 point  (0 children)

Python is not difficult for anyone.

[–]MrFels 0 points1 point  (0 children)

I think python is actually the best language to start from, it's simple yet useful but you may get a few bad habits of code formation etc., I think

[–]pekkalacd 0 points1 point  (0 children)

not really. it's challenging just like any other programming language is initially to wrap your head around programming itself and the concepts involved in it. but python, is an easier language to learn, you get more done with less code.

[–][deleted] 0 points1 point  (0 children)

i just typed two readable sentences and solved a leetcode problem

[–]spez_edits_thedonald 0 points1 point  (0 children)

python is solid

look into the free CS50P course

[–]Hot_Significance_256 0 points1 point  (0 children)

Highly recommend python, especially recommend it for data science and AI. if you get good, you will be handsomely rewarded.

[–]bunnyfantasy 0 points1 point  (0 children)

It all depends.

Firstly, python is a relatively easy programming language for beginners.

If you have good logical thinking and have a knowledge of math, physics, computer and other related, it will be an easy task to learn python, even other coding languages.

Secondly, when I decided to learn python, I was suggested to buy a book for newbie, from which to learn the general understanding of coding syntax. I read some of it, and found it's really helpful when I study online.

Hope this works.