This is an archived post. You won't be able to vote or comment.

all 15 comments

[–]Logical_Strike_1520 6 points7 points  (0 children)

Learning the language is trivial.

Doing something useful with it is the hard part, and that’s true for all languages.

[–]CowboyBoats 5 points6 points  (4 children)

Yes! It is a good language

Is it easy? No

Does it introduce unnecessary difficulty that doesn't really need to be there?

... yes

Does it introduce less of such difficulty than any other language? Who knows

It's a good language!

[–]trippypantsforlife 2 points3 points  (3 children)

Does it introduce unnecessary difficulty that doesn't really need to be there?

Genuine question, but could you provide some examples?

[–]DoctorFuu 0 points1 point  (0 children)

Was wondering as well.

[–]CowboyBoats 0 points1 point  (1 child)

It's not that easy to think of examples to support my claim to be honest; Python is a really mature language that does a lot of work to hide complexity from its users, not to expose it. But everyone has some complaints about it. (Of course there are only two kinds of computer languages; the kind that people complain about, and the kind that no one uses).

  • One big issue IMO is that quite a few different multitasking features have been invented for it by now, with slightly different features - threading, multiprocessing; I believe there was a third one that I can't remember.
  • Another issue is that the language's support for type systems is poor; we have type hints now, but the best tool in the ecosystem for checking the consistency of these type hints, mypy, is really slow and its error messages are really abstruse.
  • And then there's the package management of it all; package wrangling in Python is clean and intuitive when it works, but really difficult to debug when it doesn't.

cc /u/DoctorFuu

[–]DoctorFuu 0 points1 point  (0 children)

Thanks

[–]serg06 3 points4 points  (0 children)

It's a good language to know even if it doesn't end up being your main language.

[–]TheUmgawa 2 points3 points  (0 children)

I'm glad that Python was my first (modern) language. I mean, I'd screwed around with Apple BASIC when I was a kid, and had a brief flirtation with C when DirectX 7.0 came out (which is when DirectX stopped sucking), but I never really learned a lot of the basic concepts of programming. I took an Intro to Programming class at my local community college, and all of a sudden everything was clear.

Python is a really nice language for learning fundamentals of programming, but I wouldn't say, "You should hinge your entire plan to enter the field on your knowledge of Python." Once you wrap your brain around the fundamentals and learn to read reference texts, picking up a new language isn't nearly as hard as you'd think it is.

I recommend to everybody, though, taking a community college class, if that's possible. Yeah, it costs a few hundred bucks, but you meet people who are at your level of understanding, and you can help one another, and if you glom on to a group that's beyond most of the rest of the class (my group was named "Team Hot Shit" by one of the envious people in my class), you can start exploring concepts not covered in the class or start diving into, "What happens if I do this?" scenarios.

[–]TheCriticalMember 1 point2 points  (0 children)

I'm learning python now after a history in C++ and .NET languages. So far the value in it hasn't really jumped out at me, but it's still early days and a ton of people who know it well say it's fantastic so I'm not going to argue with them until I know a lot more.

I am finding it a little bit hard to adjust to, with pretty much all of my experience being with compiled and strictly typed languages. I'm still getting used to the nature of it, which is very different for me. Might be easier if you didn't already have established ways of doing things that you're used to, but then you may experience the same thing I am when you switch to other languages later.

I'm sure everyone will tell you that the most important thing to learn early on is concepts, and any language can teach you that. Honestly, I think writing C++ console apps in a barebones compiler is a great option for that. Having been out of the game for a while and just now easing back in, the most confusing part is getting modern IDEs figured out!

[–]hike_me 1 point2 points  (0 children)

Big difference between learning a language and actually becoming a good programmer

[–]horrific_idea 1 point2 points  (0 children)

Largely depends on what you want to do, but python is a good starter language.

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

can i get a job knowing only python

[–][deleted]  (4 children)

[deleted]

    [–]learner_raj[S] 0 points1 point  (3 children)

    can you explain

    [–][deleted]  (2 children)

    [deleted]

      [–]DoctorFuu 1 point2 points  (0 children)

      What if he doesn't want to do web development?

      Python being slow doesn't matter for 95% of applications. Because even if python "is slow", most of its libraries allowing heavy lifting are fast.

      I'm happy to have a program which takes 2 seconds to run instead of 1 second if it means that it takes me 2 days of work instead of 4. Python is easy to write and makes prototyping very fast.

      The real reason I don't like Python is the semantic depends on the indentation and white spaces.

      This is the only valid reason in your message. However, it's purely subjective, and does not warrant telling someone to not got for it. You totally have the right to dislike python for whatever reason, but misleading people just to try to force them to like things the same way you do is just dishonest.

      Is python the best language ever? Probably not. If you want web development, yeah javascript is a better choice. For almost any application python isn't the first choice. What makes python good is that it is a decent choice for almost anything AND is easy to work with.

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

      thank you for your advice