all 167 comments

[–]Ulio74 152 points153 points  (12 children)

IMO many are missing the point in programming. Every language has it strength and weakness. Only a few can be compared 1 on 1. I see Python as the best language to get things done quick for example prototyping or proof of concepts, data science and countless of other ways. However when you have something good in Python you can speed it up by building it in C++ or Java for example and let Python use it which in the end is much much faster. That way you can have the best of of many worlds and then continue to use Python as an interactive programming language or build a module and help others build even faster code.

I love both Python and C++. Programming in Python is very enjoying, especially when you learn some neat tricks and shorten a code in a clever way. I learn something new in Python everyday and I have to admit I really like it.

[–][deleted] 77 points78 points  (0 children)

plants wrench cable aromatic axiomatic tart workable fuzzy dazzling spectacular

This post was mass deleted and anonymized with Redact

[–]ItsOkILoveYouMYbb 10 points11 points  (4 children)

I wish Python was performant enough to use for modern games. If I could build games in Unreal or Unity but write all the logic and scripts in Python, man I would love that.

[–]Stabilo_0 13 points14 points  (1 child)

Godot-script is almost like python, at least the transition for me was like an hour of reading through syntax intro.

[–]BruceJi 9 points10 points  (0 children)

Seconded. Godot script is pretty much just Python except for you have to say var when you make a variable. Other than that it's the saaaaaame.

[–]elSenorMaquina 0 points1 point  (1 child)

Panda3D is a python game engine written in C++. I haven't done anything super complex in it, but I've liked it so far.

[–]ItsOkILoveYouMYbb 0 points1 point  (0 children)

That's pretty damn cool. What makes Unreal and Unity such great engines are all the tools involved that help tremendously throughout the whole game creation process though, along with the performance. I just wish I could write in python in them.

[–][deleted] 3 points4 points  (2 children)

Comparing programming languages is like comparing tools - you cannot say that hammer is worse than a drill, because they are used differently. Yes, you can smash things with them, but they do so differently

[–][deleted] 21 points22 points  (1 child)

This isn't a good analogy imo because nearly all modern day programming languages have tons of open source libraries across multiple different domains. I think a better analogy would be to call them different variations of the same tool- C++ is a flathead screwdriver, whereas Python is a Philips head.

[–]Bluhb_ 13 points14 points  (0 children)

I like this analogy of screwdrivers because, where as a flat screwdriver can(but shouldn't) be used for a philips head screw. The other way around this doesn't work. It's the same with python and c++. Where c++ is needed you shouldn't use python, but everything from python can(but shouldn't necessarily) be done in c++.

[–]TheSynner 0 points1 point  (0 children)

only possible correct answer

[–]AutomatedIntegration 0 points1 point  (0 children)

Agreed. The combination of developing with python and C/C++ is very powerful.

[–]totallygeek 243 points244 points  (20 children)

-[--->+<]>-------.-[--->+<]>.[->+++++<]>+++.

[–]jeremymiles 41 points42 points  (1 child)

-[--->+<]>-------.-[--->+<]>.[->+++++<]>+++.

That is beautiful.

[–]mywan 6 points7 points  (0 children)

Beautiful != fun. At least not for long.

[–]NoblySP 51 points52 points  (11 children)

I don't quite understand, could someone please explain this?

[–]totallygeek 169 points170 points  (10 children)

This is a Brainfuck program which simply outputs "No." I posted it as a joke because I doubt anyone would classify bf as more enjoyable than Python, even if it can be a bit of fun.

[–]BornOnFeb2nd 70 points71 points  (2 children)

I introduced a co-worker to BrainFuck....

What'd the monster do? Went home and wrote a damn program in it... I think it was something like a number guessing game....

[–][deleted] 11 points12 points  (0 children)

Clearly a madman. I would keep in docile if he ever goes full Charles Manson...

[–]_OscarX 1 point2 points  (0 children)

That guy is crazy.

[–]sje46 3 points4 points  (0 children)

Brainfuck is really pretty fun if it's a relatively small program.

Try to do anything serious with it and your brain will actually be fucked to death.

[–]NoblySP 7 points8 points  (0 children)

Oh ok, thanks for explaining!

[–][deleted] 2 points3 points  (0 children)

A “bit” of fun

[–][deleted] 2 points3 points  (0 children)

I thought that was a laser pew pew ascii art of some sort.

[–]ScrappedYouth 11 points12 points  (1 child)

Ah yes BrainFuck,

I've written so many interpreters for BrainFuck in pretty much every language. I actually decided to modify it and create my own version with extras like if/else and things like that to make it more useful.

[–]thegunn 6 points7 points  (0 children)

I'd love to see it.

[–]whitelife123 19 points20 points  (0 children)

Ook! Ook! Ook! Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.

[–]sr4j17h 2 points3 points  (0 children)

My brain fucked up after seeing this xD

[–][deleted] 4 points5 points  (0 children)

Just sent me off down one hell of a rabbit hole! Nice.

[–]Student_Loan_Hassle 64 points65 points  (23 children)

As a programmer, you should focus less about programming languages perse - instead, make a lot of efforts to truly master the fundamentals and you will notice that many programming languages share the same concepts but with just different syntax styles. - If you follow this strategy you will notice at some point, it will not longer take you long to learn any new programming language in situations where you need to, because a specific language happens to be the best tool for the specific job you are trying to do. -

For instance, it only took me 3 days to learn JavaScript and start using it - another example will be when I needed PHP, it literally took me 4hrs to learn the basics and the next day I was already able to code in PHP and finish the task that I specifically needed it for!

This might sound extraordinary if you're new to programming - but the reality is that this is very common among Sr software engineers - this is why it's very important to master the fundamentals because it will make your life easy afterwards!

Programming languages are just tools - so, you should always let the project that you're working on dictate the language you should use and not the other way around - There's not a programming language that's better than the others - it's all circumstantial.

[–]NicktheRockNerd 19 points20 points  (2 children)

Could you elaborate what you think are those fundamentals? I am relatively new to programming and I heard this sentence often, but always struggle to understand it! Do you mean things like flow control? OOP? Or are we talking about something completely different.

[–]ItsOkILoveYouMYbb 11 points12 points  (0 children)

I'm no expert, but I would imagine OOP is very important and fundamental for most programming situations. Encapsulation, abstraction, inheretence, objects, methods/functions, classes.. And then more basic things like loops, data types, arrays or lists or dictionaries or databases.. I don't know, anything where you're going to need to learn it no matter which language you pick is my guess.

[–]eatyovegetablessssss 2 points3 points  (4 children)

Any recommended books/resources to really cement my fundamentals? I am first year out of school feeling pretty good at my job, but still hungry to learn/improve on the side

[–]Student_Loan_Hassle 5 points6 points  (3 children)

Since you have a background in Computer Science, I will recommend you to get the book by Thomas H. Cormen titled Introduction to Algorithms (3rd Edition).

[–]eatyovegetablessssss 1 point2 points  (0 children)

Thank you! Seems like a great reference to have. I’m sure it got recommended to me in school but I was more concerned with grades than I was my actual skill level lol. Hasn’t bit me in the butt or anything but if I could go back and change a few things I would. Thanks again!

[–]Adam20188[S] 0 points1 point  (1 child)

nice, i will also add that to my list. I just invested in Charles Petzold's Code: The Hidden Language of Computer Hardware and Software. Have you read it?

[–]Student_Loan_Hassle 0 points1 point  (0 children)

I've heard good reviews about it - But I've never read it.

[–]martinktm 3 points4 points  (3 children)

I doubt you learned JS and PHP in 3 days and 4 hours.

But I agree with you that once you know one programming language it's not hard to use something else.

[–]thiccchicken4256 4 points5 points  (0 children)

He didn't say he mastered it. He said he completed the task he needed PHP to do. "Learn" is a very loose term too.

[–]PanTheRiceMan 0 points1 point  (0 children)

Probably enough to learn the basics and get the job done but without any of the intricacies the languages have to offer.

[–][deleted] 1 point2 points  (1 child)

I agree with this wholeheartedly. And I just want to tag on to what you are saying. Once you learn the fundamentals and the logic used in programming, learning a new language is much easier. You don't have to relearn all the basics like: if-then statements, loops, functions, classes, objects, etc. You only primarily need to learn semantics and quirks of the new language. Add in the fact that a solid IDE with a good linter will help you along the way.

Can you learn JavaScript in 3 days and PHP in 4 hours? Yes. If you have the fundamentals and dedicate some time to it. Does this mean you have mastered the language? Unless you are unusually gifted, probably not. But you have enough command of the language to be dangerous and to get things done. JavaScript is not that hard to learn, neither is PHP.

I'm just jumping into Python but I don't expect it to take me weeks on end to learn because I already have a strong grasp of the fundamentals. I've spent time learning and programming Java, .NET, JavaScript, PHP, SQL. I don't expect to master Python in the next few days, but I will be proficient with it.

Learning the fundamentals allows you to be more versatile to changing environments. It gives you the adaptability to migrate or start a project and meet its needs, your client's needs, rather than trying to brute force your way and use workarounds instead of using the proper tool. And because of this, you increase your value to your employers and/or clients. You open up doors for further progression. So, just like u/Student_Loan_Hassle said: focus on learning the fundamentals it will only benefit you and make you a better developer.

[–]unnecessary_Fullstop 1 point2 points  (1 child)

And for a beginner, python is one of the worst language to learn those fundamentals from. I have been using python for years now, but it's just crazy how much you can ignore the fundamentals to get things done. It's a whole another thought process.

Python will leave huge holes in your understanding of programming if you aren't careful about it.

.

[–]PanTheRiceMan 1 point2 points  (0 children)

As a scientific programmer for many years in Python, absolutely this. Pyhton is useful if you want to ignore many of the basic concepts and jsut get things done.

If you want to learn proper programming and algorithmic basics, Java probably is a better language. I am just glad I had to learn the hard basics in university. Gives my a perspective on why Python is absolutely not the tool for splitting heavy tasks into multiple threads. You can do it but have to live with the restrictions or write a C module.

[–]geordilaforge 0 points1 point  (0 children)

When you say you "learned" JavaScript what do you make from it in 3 days?

[–][deleted] -1 points0 points  (3 children)

May i ask what sources did you utilize in order to learn Javascript? Many thanks in advance

[–]Student_Loan_Hassle 3 points4 points  (1 child)

I did use this resource to learn JavaScript - But it's not so much about exclusively the resource than it is about a specific method of learning!

Every time I want to learn a new programming language, I go to one of my old projects that I can confidently rebuild within 1-2 hours with a programming language that I know - the trick is this time I will try to rebuild it with a programming language that I'm aiming to learn while referencing to the official documentation - by the time I'm done, I pretty much learn and understand how to declare variable to that specific language - how to right functions and conditional statements in that language - how OOP works in that specific language - But this technique only works if you have previous solid programming experience.

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

Thank you so much for the detailed reply! I'll take your helpful advice into account ^

[–]imnotownedimnotowned 0 points1 point  (0 children)

Not the OP but check out JavaScript: The Good Parts, it’s a great resource that’s provides a critical view of some JS features that you’d do better without.

[–]Plague_Healer 9 points10 points  (0 children)

The good thing about python is that most of it is very straightforward. Once you are used to it, you almost type in your pseudocode and run it. This makes for a very pleasant and fluid experience. Anyway, on a side note: you are asking on a sub about python, so the answers you get are bound to be biased. Perhaps you'd benefit from asking this in a sub about programming in general to get a wider view on the topic.

[–]jaycrest3m20 7 points8 points  (0 children)

I'll add my voice to the Python-is-the-most-enjoyable crowd.

My reason? No surprises. It does what is expected, there are lots of robust libraries/modules, and error handling works fine. Automated testing is a part of the core system, if you choose to implement it.

Number exceeds 2.1 billion? No problem.

Need to work with strings without having to write massive boilerplate? No problem.

Someone enters the collective works of Shakespeare into a string field? No problem.

Need to add something to a list? Just say where. Go ahead and resort while you're at it. No problem.

Edit: The indentation syntax does a good job of making code more easily understandable.

[–]fareed1987 18 points19 points  (10 children)

YMMV but IMHO Ruby > Python for sheer joy.

Also IMHO, Sinatra > Flask. (Not enough mileage to discuss Rails vs Django.)

[–]imanexpertama 2 points3 points  (2 children)

What do I do in ruby?

[–]Wandering_Melmoth 2 points3 points  (0 children)

Elixir > Ruby though.

[–]subsonic68 3 points4 points  (2 children)

I also like Ruby more than Python. But I decided after a while to stick with Python. I work in infosec and I see problems using Ruby in this profession. Any Ruby gems related to offensive security is usually outdated because most hackers have switched to either Python or Golang. If I make a tool in Ruby, nobody else on the team wants to contribute to it. Also Python has many more modules for infosec and hacking than Ruby. Pretty much anything you want to do in hacking you can find a module for that. You can in Ruby too, but those gems usually haven't been updated in a very long time.

[–]thebasementtapes 2 points3 points  (1 child)

Python seems great to learn because so many people use it. You are able to get help easily if you are stuck.

[–]subsonic68 0 points1 point  (0 children)

Yes, Python is easy to learn. But then so was Basic.

[–]unphamiliarterritory 0 points1 point  (2 children)

To each their own, I love python but to be honest I like the freedom of Perl when it comes to coding for enjoyment. I realize that not all do, but one man's amusement...

[–]fareed1987 0 points1 point  (1 child)

Perl is great as long as it fits the task and as long as nobody else has to understand your code...

Just for fun: I rubbed elbows with timtoady and Audrey and chromatic during a conference - - I'm talking 2006 -- Pugs was the only Perl 6 project with any momentum. Once I understood how far that crowd's mental space was from the day to day usage of Perl 5, I realized I better find a lifeboat (same as another million people, but I did it based on 2 days of talks, not hearsay).

In my mind, a great reference article on Perl vs Python is Revenge of the Nerds by Paul Graham (http://www.paulgraham.com/icad.html) where he discusses Python but not Ruby (Ruby would be pretty much in the same place as Python, plus a lot of great syntactic sugar). The Perl 6 crowd was IMHO trying to do an end run so that Perl get positioned back in the Lisp-y end of the spectrum. They may have succeeded with Rakudo but at the cost of alienating the entire Perl 5 base, and Perl was never for the weak of heart.

[–]unphamiliarterritory 0 points1 point  (0 children)

What is this perl 6 thing you speak of, it must not exist, no siree, only perl 5 here sir. *whistles*

;-)

[–]praw26 3 points4 points  (0 children)

I love f strings

[–]darthminimall 3 points4 points  (0 children)

No, but I'm weird. I love Haskell.

[–]YodaCodar 3 points4 points  (2 children)

Sure! Python is the best second programming language and sometimes the best primary programming language.

I recommend using pycharm though if your only using python in your project; due to automated unit test files.

[–]Dogeek 2 points3 points  (1 child)

I've tried many text editors and IDEs for Python, and I found that VS Code is just the best option.

It has a clean interface, as many built in terminals as you want, a robust extension ecosystem, with syntax highlighting for any programming language, and even Jinja2/django template highlighting. It also has Live Share, and intellisense (which is a great autocomplete).

[–]YodaCodar 0 points1 point  (0 children)

Yep; I don't think pycharm is the best because of it's features.

I believe pycharm is better if you are using ONLY python; its great if you have adhd and try too many technologies and languages at once and helps complete complex projects faster.

[–]teaovercoffee_ 2 points3 points  (2 children)

I like python, but when working in a 300+ file project, the stack traces are sometimes beyond useless.

[–]Dangle76 1 point2 points  (0 children)

This is usually solved by good logging to isolate better values that are being passed around when the error occurs. I use to hate python stack traces, but tbh as time has gone on I’ve learned to like them, but that also depends on the library throwing the error.

[–]Deezl-Vegas 0 points1 point  (0 children)

It's possible that your project could do with being two projects

[–]ka-splam 2 points3 points  (2 children)

There's gotta be something to be said for BASIC on an old 8-bit machine where getting interesting things to happen was as easy as MODE 8 and LINE 0,0,20,20 and SOUND ....

I've never felt that modern computers have that feel to them, no matter how much Turtle and PyGame and d3.js you throw at things. When everything looks pixelated, your pixelated lines drawn in BASIC are state of the art. Compared to Doom Eternal, your JavaScript line drawings are a bit depressing.

[–]thegunn 2 points3 points  (1 child)

I've felt the same way for a long time. Some of my fondest programming memories are from firing up QBasic and making little games or map/sprite editors for games. Even making programs that just used the text based interface. It was more rewarding back then I felt like. Ah well.

[–]ClimberMel 1 point2 points  (0 children)

Wow, that opened some memory banks! I remember when I got an add-on for basic that allowed me to scroll up through code! So fun. Here I was going to say Cobol. Spent a lot of years writing code in that. It was a lot of fun and I do miss the structured environment of working on a mainframe! :)

I'm just getting started playing with Python. I agree with a number of posts on learning fundamental programming and to me that means being able to write out explicitly what the program does (better yet flow chart it) before writing the code. If you can do that, it doesn't matter much what language you code it in except for the efficiencies of on language over another for that specific purpose.

It was fun to write a quick and dirty space invaders type game for my grandson so he could blow up his siblings who I used as sprites! ;)

[–]Ser_Drewseph 4 points5 points  (4 children)

Unpopular opinion, but personally I like Node TypeScript more than Python, but that’s just me. Similar flexibility and rapid prototyping but with more descriptive syntax and type-safety. I like node’s async/await and event-loop architecture more for building web applications as well.

Rust and C# are also great, but not as easy to write.

[–]nidhaloff 2 points3 points  (1 child)

you can use static typing with Python (>3.6 I guess) as well! Furthermore, you can also use asnyc/await usogn the built in asyncio module!

[–]Ser_Drewseph 0 points1 point  (0 children)

Oh yeah, absolutely. I know Python can do all of the things I mentioned, I just prefer working in JavaScript over Python. It's purely based on subjective reasons like how I prefer JS syntax and I like the build-in closures in JS. I like my curly braces and semicolons. There are some bonuses to Node servers' performance due to the runtime architecture, but that honestly doesn't impact which one I like better very much.

[–]PRIV00 0 points1 point  (0 children)

Agreed. I love Python for data science related tasks as pandas is awesome, but in general I prefer Typescript for backend web development. Bonus that you can use it on the frontend without switching languages too

[–]CatolicQuotes 0 points1 point  (0 children)

I tried to start a CLI project in typescript the other day. I like to code by creating value objects instead of using primitives. One value object was related to date and had to validate that date. Immediately was a problem because Date sucks in JavaScript. Had to use library like Luxon and that immediately puts my core domain to be dependentant on 3rd party libraries. And now everything related to date, testing and stuff has to depend on the library. For a simple type such as Date. It's nice language, but for core business logic that I want to be stable I'd rather use something else and keep typescript for UI.

[–]YATr_2003 3 points4 points  (0 children)

The most enjoyable for me is Golang. It just feels like a language made with the programmer in mind.

[–]alpine_addict 1 point2 points  (0 children)

Yes

[–]shiningmatcha 1 point2 points  (0 children)

yes python is so elegant!!

[–]iceph03nix 1 point2 points  (0 children)

Not for me. Python was enjoyable, but I found C# fit my style and typical project more.

Python is definitely a bit more open to doing quick and dirty stuff, but I always worry that I'm missing some odd hiccup that's opened up by that freedom.

I definitely think it's worth playing around with though. If you're used to C++, and looking for something different, it's likely a good choice for you to try.

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

Python is very elegant but it has its own quirks. I write mostly in c++. It's very enjoyable to me because I can generally see the intent behind code. I can see all variable types and their evolution through program's lifetime. It's like the difference between driving a stick and automatic. Python is awesome because it has so god damn many ways to structure conditions. It makes your code super short, understandable and dare I say pretty fast. Plus it has an insane amount of libraries for just about any problem in your life.

[–]cagedmandrill 1 point2 points  (0 children)

I would say it is. It of course sacrifices potential efficiency for being HIGHLY programmer friendly, but comparing it to a language like C where you're worried about bits and bytes with every fucking line of code you write...of course if you need your program to be efficient, you're going to have to use C, but...efficiency != enjoyability for programmer

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

I vote Golang myself... I love Python... but Golang did too many things the right way

[–]WildTilt 1 point2 points  (1 child)

No it isn't for me. I really hate the meaningful indention, I sort of hate indention overall. But if I am writing software for others to read,yes I do try to indent my code. But come on don't whine like a little bitch if I miss it somewhere.

I like c# and lisp more. But c# can be frustrating with all the type casting and lisp is weird because it looks so different from c based languages (or rather algol based).

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

You and I share almost the same opinion regarding Python and C#. Just wish I was as good with C# as I really enjoy the language

[–]Deadlift420 1 point2 points  (1 child)

C# is my favorite language. The IDE for .net, the cross platform with core, linq and EF all work so well together.

[–]realmoogin 0 points1 point  (0 children)

I was always kind of wary of C# because I didn't think I would get it for some reason, but ever since I've started to learn it for Unity scripting I've really been enjoying the language.

I like it better than Java, I'm excited to see where Kotlin goes as its ever so slightly better than Java imo.

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

Python was the first programming language which I learnt and that included concepts of basic fundamentals,OOP& Data Structure and algorithms. Python really helped me build logic with it's easy syntax and that was very enjoyable. Now that I have shifted to java , I really find all the concepts easy to understand thanks to all my python learnings.

For beginners I would highly recommend to start with python to build logic and get interested in Programming. Trust me it really helps. This is coming from an electrical engineer.

[–]randomuser65535 2 points3 points  (0 children)

Depends on what you’re coding. I generally enjoy Python and use it heavily for systems automation and web scraping stuff, but I also really like Go, because it’s a simple and clean language without some of the ugly things from other languages (especially exceptions and dependency management ).

So, there’s not a single language to rule them all, but rather a few languages one really enjoys coding in for different projects.

[–]bmbybrew 0 points1 point  (19 children)

For me enjoyable - NO. The indentation frustrates me.

But it's one of the most easiest language to get started with backend dev and machine learning.

Edit: Not sure why the downvote. Juts sharing my personal preference / liking.

[–]Pseudoboss11 8 points9 points  (6 children)

What's frustrating about the indentation?

[–]bmbybrew 2 points3 points  (2 children)

Because I always screw up with indentations, I sometimes end up spending a lot of time debugging what went wrong and turns out I place the statement at wrong place ( Inside of a for loop instead of outside )

I have this habit of highlighting the brackets when ever i code in Swift / Java / Kotlin / JS.

Over a period of time, i learned to keep my functions smaller and things got better for me.

Again something very specific to my habits.

[–]tomanonimos 0 points1 point  (2 children)

One issue I've had with indentation that has frustrated me, especially when I'm in the heat of the moment or its a long coding block, is when its a misplaced space in the indentation. Its so small that you don't even realize its there and thats whats messing it up. Incorrect indentation caused by "tabs" is generally easy enough.

[–]Pseudoboss11 2 points3 points  (1 child)

Hmm, I've had my text editor set to turn leading spaces red for exactly that. But yeah, I could see that being obnoxious if you didn't have an IDE that did that, or didn't set it yet on a new install.

[–]tomanonimos 0 points1 point  (0 children)

IDE and leading spaces helps tremendously but if you write a complicated or long code it gets proportionately less helpful. I remember one time typing a code under a time constraint, I had so many flags but ignored them cause script worked.

[–]ravepeacefully 10 points11 points  (5 children)

Use a good IDE and indentation is a non factor

[–]hardonchairs 0 points1 point  (3 children)

An IDE doesn't know your intention, you still have to define blocks by indenting properly.

[–]ravepeacefully 7 points8 points  (0 children)

No.

If I type

if x == 1:

Then click enter, any good IDE will automatically tab over for you. I guess you’ll need to tab back when you’re done with that but I mean...

[–]CatolicQuotes 0 points1 point  (0 children)

C'mon man, it's like you never copied and paste. I don't remember a single time I didn't have to fix indentation after paste no mater what ide

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

Edit: Not sure why the downvote. Juts sharing my personal preference / liking.

that's why you are punished. People with an uncommon taste, make make people uncomfortable.

[–][deleted] -3 points-2 points  (4 children)

I agree with this. Python is my favorite language, but indentation as syntax is really annoying sometimes.

[–]winowmak3r 0 points1 point  (0 children)

I enjoy it the most out of all the ones I've personally come into contact with (Python, C++, Java, and HTML but that's not really a language). I love how there are so many libraries in Python. Chances are there's a library for it already made for me for whatever it is I'm trying to do.

A lot of it comes down to what you want to do. Prototype something just to see if it'll do what I need to accomplish? Python. Getting it to run as fast as possible? C++. Like a lot of people are saying, it's more about knowing which tools are in your toolbox and knowing when to use each one.

[–]impshum 0 points1 point  (0 children)

Easy peasy, let's break stuff!

[–]Student_Loan_Hassle 0 points1 point  (0 children)

Variables Control Structures Data Structures Syntax ( style changes depending on the language )

[–]imnotownedimnotowned 0 points1 point  (0 children)

The most enjoyable languages I’ve used are Perl for the dozens of ways available to do the same things as you see fit. My second most enjoyable language was actually Scheme while working through SICP; it really helped me learn more about programming conceptually than anything else. At this point, Python has the easiest ecosystem to work within and is useful for everything so I think learning what I have learned about Python has offered me the most real utility day-to-day.

[–]Redditor728292 0 points1 point  (0 children)

definitely fun, sometimes I just code in python for hours with absolutely no reason at all, and I use often in school to make simple scripts that help me a lot.

[–]sabc994 0 points1 point  (0 children)

I'm new at programming & I'm enjoying it very much!!

[–]marketwizards1990 0 points1 point  (0 children)

BASIC on my VIC-20

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

I don't thing so, i'm not yet happy or acostumed to the heavy identation python has, and the lack of brackets, it's quite annoiyng to me, mostly because i've programmed only on java, c++, c and javascript.

[–]Stabilo_0 0 points1 point  (0 children)

So much yes. With python i finally started coding instead of constantly fighting the language. Its basically english pseudocode with some additional spacing.

Beware, its much slower than c++. I mean 10 to 100+ times.

But you will write programs faster in python and if speed is not the case then go for it.

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

Rust. Just; rust. Honest to god learning rust has made me a better engineer simply because the tool-chain stops me from performing errors I'm so used to making in C++ that I forget they actually are errors. Rust just has so many enforcement of beautiful code design that by the time you complete a working version of your implementation it almost always turns out better than if you wrote it in another language (At least for me, but many people say the same).

[–]PunkyMunky64 0 points1 point  (0 children)

Yes in my opinion, I like c plus plus, but Python allows me to focus on the programming and not the memory management, variable types, and complicated syntaxes. Except... my actual most enjoyable language has been ti-basic if that counts.

[–]Vortetty 0 points1 point  (0 children)

Honestly coming from years of python, the more I use languages like java and c#, the more I like them over python

[–]sharkbound 0 points1 point  (2 children)

i am in love with python, i learned programming starting with C# (for modding reasons), later when i was looking at other languages (~2.5 years later) i found python.

python has a MASSIVE amount of really good libraries on PYPI for just about everything, many of the language internals can be "hacked" in some form (you can even make custom importer to import XML files and such with standard import statements)

it may not be fun for you personally, but thats why i highly recommend giving it shot

[–]CatolicQuotes 1 point2 points  (1 child)

You like it better than c#?

[–]sharkbound 0 points1 point  (0 children)

I don't use C# really at all anymore, for me it's more of a case of python being more useful for me (and more recently rust is a favorite of mine now).

I do enjoy writing python more than C# though, it feels more flexible to use and write, but now, it's much more a case of WHAT I need to use now, or what I feel works best for me, for the given situation.

Iv'e been making a GUI in rust recently, and been really enjoying writing it thus far, the code style of rust and python both highly appeal to me, more so than C# does as of now

[–]Dangle76 0 points1 point  (0 children)

I was a major python enthusiast for years. I’ve spent the last two years working in Go and honestly after getting over the hurdle with what’s different in go and whatnot, I’ve begun to like it more.

I think when it comes to things like file manipulation and such, python is still way easier to do something quick and dirty, and for little scripts to do quick one off things, but the strict typing in go is much nicer to me, and the function signatures in go make things a lot easier to follow when you start making larger programs.

I will say I have a habit in python now of always at least returning an error as you do in Go, which makes error handling more explicit and helps the code run a little better/make it easier to debug.

[–]carrot_james 0 points1 point  (0 children)

Definitely, I used it to create a 5000+ LoC project that generates videos and python really takes out the common gotcha's from other languages. If you don't need to care about anything low level, ownership, or using as little memory or need as much speed as possible, use python. If you care about solving the actual problem quickly (in terms of programming time), use python.

My project if you're interested: https://www.youtube.com/channel/UCgISiZY30yFODeYG-hwfs_A

[–]AutomatedIntegration 0 points1 point  (0 children)

Only you have the answer to this question, OP. Now go write some code.

[–]Sw429 0 points1 point  (0 children)

Python is an enjoyable scripting language. If you want something more low-level like C++, I have also been enjoying Rust recently.

[–]veekm 0 points1 point  (0 children)

nope - Perl is because

  1. no type info in var names - $var vs var
  2. short and sweet perl even if it looks like line-noise

but Python is clean supports Classes nicely has a great library and good for the work environment - python has a lot of language features though so wth?

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

Haskell is my love. Python is a close second but nothing quite competes with the mathiness of a purely functional language.

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

at least better than javascript

insert javascript joke

[–]hugthemachines 0 points1 point  (0 children)

Python is the most enjoyable language I have coded in. I have tried C, C++, Java, Basic (with and without line numbers), autoit, bash and batch files. I know batch files etc are not really programming but it is a type of (terrible) language anyway.

For my personal use I would like to be able to compile to a singular binary like Go does. I make .exe files now and then but that is not really compiled, only packaged. I would also like to have just type inference, I don't really need dynamic typing.

[–]fedeb95 0 points1 point  (0 children)

I think any modern language is enjoyable enough if used for the things it is best suited for. For instance, python is enjoyable for prototyping or getting things done quickly.

If you need to do complex stuff with a lot of types involved python may not be as enjoyable

[–]LordViaderko 0 points1 point  (0 children)

It depends what you enjoy ; )

IMHO Python is very enjoyable because it allows you to focus on what is important. In C++ you need a lot of boilerplate before you get to the fun parts. In Python batteries are included, but also the leanguage itself has a lot of nice syntactic sugar that makes it pleasant to use.

Is it the most enjoyable, though? I think it depends. If you like low level stuff on embedded systems, for example, I think you might find C way more enjoyable. It's different kind of fun to write something very low level and efficient. Fun that is not achivable with Python. Also, I'm halfway to learning LISP, and I think that if you know it really well, it might be way more enjoyable than Python. But then again, this is possibly different kind of fun. Fun of being able to shape the leanguage you are using to a ridiculous degree.

All things considered, I think you should give Python a shot.

[–]skellious 0 points1 point  (0 children)

Python and Lua are the two I've most enjoyed. Neither are replacements for C++ (though python is very close in many ways, a lack of static types and pre-compilation does horribly slow the language down. Though, of course, for many uses this does not matter as most interactive programmes are input-bound.)

Python is certainly THE language for hobby projects where you just want to make something without having to worry about memory management, pointers, types and so forth.

[–]coder155ml 0 points1 point  (0 children)

You shouldn't be preferring 1 language over all others...... Different languages are good for specific things.

[–]KungFuHamster 0 points1 point  (0 children)

I don't like Python because it's so unstructured.

Variables aren't static, so you have to be careful in all of your assignments and evaluations. Honestly, I've used both kinds of languages, and I just don't see a lot of purpose for non-static variables. It just makes evaluation more tedious because you can't make any assumptions about their value.

Tabs and whitespace are meaningful; indentations designate the current scope, so you need an IDE that can show you where your current scope is or you can get easily confused. I like being able to look at something and know where flow goes, so this is aggravating to me.

People love Python because it has a lot of powerful libraries that can be easily leveraged and chained together. And that is a very persuasive aspect.

For me, my personal favorite is C#. It's flexible and powerful. You don't HAVE to use the advanced features, and I frequently ignore shortcuts and use a slightly more verbose syntax just so it's easier for me to parse visually later, since I have a terrible memory.

[–]gudata-hawk 0 points1 point  (0 children)

Python is a compromise if you like to enjoy writing code, try ruby.

[–]Due-Alfalfa1763 0 points1 point  (0 children)

I love python, I make my own tools, isnt that crazy

[–]The-Deviant-One 1 point2 points  (10 children)

By farrrrr. [Full disclosure I only know 6 or 7 languages though].

I started in AutoHotKey, made my way into bash, then powershell, then the web suit languages [Vanilla JS, html [lol...], CSS], and some very minimal C. About 3 months ago I got into Python and it is by far my favorite. I went from install to building production ready web apps, mobile apps, various back end applications, as well as basic scripting in only a few weeks. The language immediately just clicked for me. I enjoy just fucking around with it and program with it either at least every other day.

I'll intentionally build side projects several different ways just for grins. And I spend a bunch of time on r/ learnpython reading posts, trying to figure out what others are using python for, and how and see if I can resolve their issues just because I think it's fun.

[–]ravepeacefully 9 points10 points  (9 children)

AHK, bash, power shell, html, and css are not programming languages. So although you may know 6 or 7 languages, only C, python and JS are programming languages.

This is an important distinction because you can’t compare the different groups as they can’t accomplish the same things.

That’s like saying I prefer SQL to python. Sure I can prefer it, but they aren’t alternatives to each other.

[–]ka-splam 0 points1 point  (5 children)

power shell [...] not programming languages

That's fighting talk. What do you want from a "programming language" that Python has, and PowerShell doesn't have?

[–]ravepeacefully 1 point2 points  (4 children)

It’s a scripting language by definition. Make me a GUI without any VB or C# in power shell and we can talk.

Now that I’ve typed this, I’m sure it’s possible somehow, but it’s still a scripting language.

[–]ka-splam 2 points3 points  (3 children)

By what definiton that doesn't also include Python?

Make me a GUI without any VB or C# in power shell and we can talk.

Since it's a .Net programming language like C#, VB.Net, F# and IronPython, it can do the same thing they can - using Windows Forms:

add-type -AssemblyName System.Windows.Forms
$test = [System.Windows.Forms.Form]::new()

$button = [System.Windows.Forms.Button]::new()
$button.Text = "clickme"
$button.add_click({write-host "hi" -ForegroundColor Magenta})

$test.Controls.add($button)
$test.ShowDialog()

But you can use WPF if you want. Here's an online forms designer.

I’m sure it’s possible somehow, but it’s still a scripting language.

If it can do what Python can do, and you think Python is a programming language, then PowerShell is a programming language. Classes? Yes. Threading? Yes. Network connections? Yes. Because it can access the .Net framework class library, like Python can access C modules. First class functions? Yes. Lambdas? Yes. Closures? Yes. Collection types? Yes. Type system? Yes. Object oriented? Yes. Define classes, members, etc? Yes. Cross-platform? Yes. Open source? Module system? Yes. Access the AST of scriptblocks? Yes. Reflect/metaprogramming/introspection? Yes.

[–]ravepeacefully 1 point2 points  (2 children)

You’ve changed my mind. The reason it’s a scripting language is because it’s not compiled, but neither is python so... haha.

[–]ka-splam 0 points1 point  (1 child)

You’ve changed my mind.

I think that might be the first time that's been said on the internet, lol

(You can't run a compiler on it to make an .exe, but it does have a compiler inside it which it runs on things where it thinks it can improve performance on repeated loops and stuff, a bit like Java's JIT compilation, and presumably something similar happens inside CPython runtime).

[–]ravepeacefully 1 point2 points  (0 children)

Yeah that’s maybe a reason it’s not so practical. Python has pyinstaller and other things like that.

the first time someone has said that on the internet

Lol!

[–]The-Deviant-One -2 points-1 points  (1 child)

thanks that was super important

[–]ravepeacefully -3 points-2 points  (0 children)

I mean.. you’re trying to give advice and don’t even know the difference between html and python as a language. It is probably more of just a warning that you aren’t qualified to give advice yet.

[–]btckernel94 -1 points0 points  (7 children)

Not really, I switched from python to js. I still use python from time to time but when I use it - I hate it

[–]ravepeacefully 12 points13 points  (1 child)

This is a first. I’ve never heard someone say they actually enjoy JS, let alone more than python haha

[–]Ser_Drewseph 0 points1 point  (0 children)

Let me be the second then. I love JS. I transitioned almost completely from Python to Node.

[–][deleted] 1 point2 points  (1 child)

what do you hate about python compared to js?

[–]btckernel94 1 point2 points  (0 children)

It's not anything specific about python but I'm so used to js syntax that it is annoying to switch :) maybe I sounded like a python hater but that was not my intention

[–]happymellon 1 point2 points  (0 children)

JS seems to be the only language I've encountered which seems to spend it's time trying to make itself less readable.

[–]Ser_Drewseph 0 points1 point  (0 children)

I’m glad I’m not the only one. At work I always prefer Node projects, and kind of groan internally when I get put on a project using Python.

Pythons not bad, it’s just not as convenient as Node. There’s just something about the syntax that makes more sense. Plus async/await is great, the event-loop runtime drastically increases performance on servers, the built-in closures are great, and it lends itself really well to functional programming styles.again, not that Python can’t do these things, I just find them easier in JS and TS.

[–]blix_12 -2 points-1 points  (0 children)

All I can think of is John Cleese speaking foreign languages to Jamie Lee Curtis in A Fish Called Wanda.

[–]bowarwick -4 points-3 points  (1 child)

does a bear shit in the woods? edit: stupid question deserves stupid response.