9

Why is learning a new language from python such a bitch? Like, w h a t t h e f u c k. Syntax can eat my ass with that semi colon no semi colon bullshit. Also fuck the compiler with it always having an error and shit. I was lowkey just trying to compile the shortest shit but cant get through s h i t. Fuck life I swear I'm gonna shoot my computer if I get another error.

Comments
  • 2
    What language are you learning?
  • 3
  • 18
    If I had any advice I could give a new programmer, it would be to learn curly-brace syntax first. Python is the only major language that has indent-syntax, and it makes learning every other language so much harder
  • 6
    @saucygames05 welcome to statically typed languages \o/

    At first the strict syntax and types might seem like bullshit, but soon enough you'll see they allow you to develop much more robust code.

    Have fun :)
  • 16
    That’s because python is the bastard stepchild.

    You STARTED by learning the bastard stepchild.
  • 1
    @neeno I'll try lol
  • 6
    You'll thank the compiler for shitting out errors later because one mistake that the compiler screams at you for is one mistake that you won't have to deal with at runtime when your program tells you that 2+2 = 22. And like others said, Python really is the odd language out here, it's simple and easy to learn but to do so it takes a lot of shortcuts which will force you to do some more learning if you want to branch out.

    Good luck though!
  • 4
    @HiFiWiFiSciFi IMO languages like python and js are perfect for newbies, you can learn the basics without having to worry about compiler errors and stuff like that, it's easier and less overwhelming. After you get the basics down (variables, ifs, loops, arrays, objects, etc) you should move on to a language like c++ or java or whatever in order to learn more complex concepts.
  • 3
    @neeno I am trying to branch out so that I have more experience down the road when I have to get a job eventually. I like python and I will continue to keep using python but I definitely need something new so that I can do more :)
  • 2
    @saucygames05 atta boy

    Python is good, but I wouldn't use it for anything other than simple cli tools, scripts or small projects. Dynamic types can and will screw you over in larger projects. For anything big you should go with statically typed languages, much easier to refactor code.

    After you learn C++, go for Rust, you'll love it. It's gonna be hard af at first (harder than c++), but you'll see that it's gonna prevent you from making a lot of mistakes that are easy to do in c++ and it'll make you much more conscious of how references flow around in your code.
  • 1
  • 1
    @neeno how to fuck yourself over 101

    However I'm always gonna try everything anyways lol
  • 3
    It's fairly obvious. Python as a language, doesn't exactly embody a lot of programming concepts, which is an intentional part of its design to market it as an easy use language. C++ embodies most programming concepts in existence. The problem isn't the language itself, the problem is that you skipped those and now they aren't part of your muscle memory. So you have to re-practice it all over again.
  • 2
    @hashedram also the environment with all it's incompatibilities...
  • 1
    @10Dev so true. I learnt python as my first language in school and it was so difficult to learn java and other real languages afterwards. Python is like a car. You can start your journey of automobile driving with a car, but one can't get to learn cycles, bike and other 2 wheelers by just learning to drive a car
  • 1
    @yowhatthefuck really? I thought learning python first would make it easier to grasp the simple stuff like variables, functions, loops, etc
  • 1
    @neeno yeah you can get a hang of how programming works. But not the actual internal working.
    In java if a person understands what int a=5; means, he knows :
    - how compiler defines variable types for variables,
    - how casting works,
    - how memory allocation works and what are the various limitations of data sizes
    - how declaration and accessing a variable would work
    - c/c++ guys would also know how pointers and stack work
    - maybe how garbage collection works

    But a python guy knowing a=5 only knows that python created a box and stored 5 in it. This is some magic box which can store anything, however large , and could also be replaced by anything. I mean even if i was being taught about garbage collection and pointers, i could not relate to that . Java really opened my eyes XD
  • 1
    @yowhatthefuck ah yes, of course, but I thought it would be easier to learn one thing at a time. First the basic stuff, then the inner workings.
  • 0
    @neeno teaching someone without compiler errors... Is a bit backwards.
  • 2
    @iiii why is that? I don't see any benefit in having errors like "this is a float, not an int" when someone is trying to learn how to use ifs, loops and arrays. Of course, syntax errors are very useful to newbies, but I'm not sure stuff like type-checking is.
  • 5
    I learned python first, then C. No regrets.

    First I learned basic stuff like loops, functions, reading and writing files, even classes with python. Then, with C, data types and pointers.

    Both languages are just as easy for a beginner to waste hours in and not figure out why something doesn't work. But I think the way I learned was very logical.
  • 2
    @saucygames05
    Wow, going from a highlevel language designed to make your life easy - straight to lowlevel performance-oriented where you have to manage memory and lifetimes of stuff and the language encourages you to shoot yourself in the foot at every corner.

    You seem to be rather challenge-oriented, so how about some Haskel or Erlang next. Also there is Coq, if you also are into math a lot...
  • 0
    @neeno if they are not methodical enough to weed out such primitive errors, they are not suitable for programming and you should not waste time.
  • 0
    @neeno

    Pointer arithmetic: I'm about to ruin this man's entire life
  • 1
    try javascript. quick, which if these is the correct way to declare a class (excluding a constructor) and/or constructor and/or constructor function and/or object:

    Class Foo {}

    let Foo = Class {}

    let Foo = Class Foo {}

    let Foo = {}

    function Foo() {}

    let Foo = function() {}
  • 0
    @Wisecrack the first one? I havent used javascript that much at all, but when i do i always have to use the internet constantly to get anything done.
  • 1
    @saucygames05 point is the grass is deader and browner on the otherside (and js is a bunch of hobgoblin al-a-carte horseshit)
Add Comment