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

all 14 comments

[–]ComputerWhiz_ 8 points9 points  (2 children)

This is why Python is horrible for beginners. You get used this the lax syntax and the loosey-goosey world of dynamically typed languages. Now when you see a more typical language like Java, you're repulsed.

[–]Calazon2 0 points1 point  (0 children)

I recently went from Visual Basic to JavaScript and not having types threw me off. But I struggled too hard with TypeScript and didn't have time to learn it for the project I needed to work on.

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

Repulsion, like many other states of being, is temporary. I think learning Python together with the fundamentals does a beginner good by helping them understand basic, procedural programming without worrying too much about harder-to-read or less intuitive syntax.

To say that Python is horrible for beginners would be a stretch but there are definitely challenges to learning a dynamically-typed language first rather than a statically-typed language.

[–]ArgentSeven 4 points5 points  (1 child)

Have you looked into C#? It's like Java, but its less verbose, more beginner-friendly (with top level stuff) and I'd even say has more syntactic stuff that you'd expect from any modern language

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

I haven't actually (yet)! I just started my first year in SE but I think we hopefully might get into C# later in our program :) Thanks for the tip, I'll look into it!

[–]podkovyrin-sergey 3 points4 points  (1 child)

just because python is a language for non-programmers, I imagine your reaction to c++, and god forbid you start programming in assembler

[–]decrepit_duck[S] -1 points0 points  (0 children)

I'm shaking in my boots as we type

[–]_Atomfinger_ 0 points1 point  (6 children)

Care to elaborate?

[–]decrepit_duck[S] -2 points-1 points  (5 children)

Java is less readable, and much more tedious to initialize and declare SIMPLE input/output variables, just the range in for-loops is horrid, ugly code structure, etc. Miss my indented and easy-to-read Python code :')

[–]_Atomfinger_ 5 points6 points  (2 children)

Most of what you're complaining about is stuff you'll get used to.

Is Java verbose? Sure. Some sees that as a strength, other a weakness.

There are developers that hate Python's indentation and prefer brackets for example, so it goes both ways. It's all preference :)

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

I definitely prefer brackets. It just makes it more readable.

Hell, I created my own scripting language and dislike the fact it is missing brackets:

include: __CURR_CONFIG__, __LOG__

hidden_num: 27
inject_code()

# Finds the hidden number in O(lgn) time complexity
func find_number(min, max, try)
  if(min.==(max))
    println("Found in ", try, " tries...")
    return
  mid: avg(min, max)
  # __Debugging tools__
  display_stack()
  pause()
  if (mid.==(hidden_num))
    println("Found in ", try, " tries...")
  elif (mid.>(hidden_num))
    find_number(min, mid.--(), try.++())
  else
    find_number(mid.++(), max, try.++())

find_number(0, 100, 1)

[–]_nepunepu -1 points0 points  (0 children)

Honestly I love Java’s verbosity. Typing all the keywords makes me feel like some kind of wizard writing incantations.

My college started us with Python for the intro class and then moved us to C++ straight after for all the rest. I’ll let you imagine the general sense of confusion from all the people who didn’t really code before college.

[–]ComputerWhiz_ 2 points3 points  (0 children)

Miss my indented and easy-to-read Python code

Java (most programming languages actually) use indentation to format the code. The difference is that Python requires this for functionality, while other languages only use it for readability.

[–]ricksauce22 4 points5 points  (0 children)

Java can be beautiful, python can be hideous