Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Mooey Cow
Jan 27, 2018

by Jeffrey of YOSPOS
Pillbug
Would be great if these AI bozos could finally move away from noted clown language Python

Adbot
ADBOT LOVES YOU

Mooey Cow
Jan 27, 2018

by Jeffrey of YOSPOS
Pillbug

Captain Beans posted:

What’s the beef with python?

Apart from being an idiot language that treats whitespace as control characters, with weakly typed variables that you can't even declare etc. etc., let me tell you about that time I tried to use one of those image generation libraries.

Installing that poo poo is a complete mess. I already two python versions installed so you'd figure you jist download the scripts and run them? Hooooo no. First you gotta get 500 libraries, and to get those, you gotta get a program that downloads libraries. Fine I get the program, but turns out the python versions i got are too old to run that program, also written in python of course. Fine, I get the latest version, and download all the libraries. So now the drat thing runs, right? Wrong. Well it does something but nothing comes out. Check some kind of log output, search the internet for an hour, and it turns out the version of python I picked is too recent. The drat thing only works with a very specific version of the language, not too young, not too old. And this is apparently not unusual for python and its libraries. So I gotta do all that poo poo all over again, and get all the libraries, and then it runs. Terrrrribly. I rewrite the script to not seem like it was written by a complete doucheturd piece of poo poo and then it was vaguely usable.

To run one drat script, i needed to install multiple gigabytes of libraries, and if I wanted to run a different script alongside that one, i would have needed to install the all same stuff again but of a slightly different version.

Mooey Cow
Jan 27, 2018

by Jeffrey of YOSPOS
Pillbug
Stable Diffusion has a bunch of warnings that any prompt could potentially produce "explicit and adult material". Anyone done any cyberporn yet?

Mooey Cow
Jan 27, 2018

by Jeffrey of YOSPOS
Pillbug

Yes

Mooey Cow
Jan 27, 2018

by Jeffrey of YOSPOS
Pillbug

Bad Purchase posted:

not saying it’s impossible, just that it isn’t that common and i’m genuinely interested in seeing a specific syntax that breaks from 3.x to 3.x+1.

The only syntax errors were with the downloading tool that tried and failed to use my old python installs. The other errors that were due to a too recent version were not syntax errors but either some sub-dependency that didn't exist, or a function in a dependency that didn't exist or did something that the script didn't expect. Whatever it was, I only remember how long I had to spend trying to track down what the hell the problem was, because it didn't outright say that the functionality was missing or changed.

As for why this dependency hell exists, it both is and isn't the fault of python. It's one thing to use it as a glue language between systems or as a more capable batch scripting language, but python should never have been used for large systems and high intensity general purpose computations like these. It's not python's fault that people are trying to use it for this, maybe it's because they don't know anything else or whatever the reason was this started. But the fact that python is not performant enough to allow these computations to be done in a reasonable time, that it can't properly support threading (it pretends to, but the interpreter is in fact not thread-safe and no code will be executed in parallel, making "multithreaded" python often execute even slower) etc etc, is the reason why those many, many compiled libraries had to be created, so people could do the things they wanted to do. People even recommend that you shouldn't even do simple looping in python if you can offload it to some library function. It's no wonder you get a million libraries if you can't even rely on such simple language constructs not wasting time doing whatever nonsense it's doing behind the scenes.


Bad Purchase posted:

e: basically, python understands that you should give programmers as little freedom as possible to make their own choices because programmers are among the dumbest people on the planet, myself included.

It's all well and good to enforce a particular coding style on a language community (though most communities would never accept it), but that's quite different from changing the behavior of the program when the amount of whitespace present changes. You could have well-defined start and end points of a code block and still have the compiler say "you messed up the indentation here". That would in fact let the compiler know even better where you messed up the indentation. Whereas now I don't know how many times I've seen some beginner wonder why their code isn't working right in some edge cases, and it turns out it's because they accidentally gave a line too much or too little indentation so it ended up in a control block they didn't intend. Those kind of bugs can be very subtle and hard to track down in code that is nested more than one or two levels; you basically have to go through each line near a block boundary and consider if it really belongs there. It also makes it much more difficult to refactor code than it should be, not to mention sharing code with people in channels that don't support "code tags" that preserve whitespace like you wrote it. E.g. if you posted nested python code here without using the code tags, the browser would remove all leading whitespace, making the code not necessarily invalid (that would have been one thing), but might instead do something completely different from what you wanted. I.e. it might still compile but do something else. This may seem convenient but is actually Very Bad. In languages with well-defined code-blocks, it might look like poo poo when posted like that but it will always do what you intended, and even basic text editors these days have functions for auto-formatting code to make it readable again.

I also gotta wonder if this isn't why lambdas in python are limited to a single line expression; because they just couldn't figure out what the indentation rules should be for multiple statements.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply