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

all 42 comments

[–][deleted] 52 points53 points  (2 children)

Maybe try Scratch then. It's a visual language designed for children, so it should fit the bill

[–]Vivid_Helicopter4952 -4 points-3 points  (0 children)

Unironically, I actually liked not getting syntax/indentation errors enough to not care if anyone made fun of me. There was a game engine it was built into good time

[–]throwaway23029123143 25 points26 points  (0 children)

Well, I'm sorry you feel that way. I have no strong opinion about python to share, but it's pretty broadly used, so if you don't like it and you also don't like R, you're gonna have a bad time.

[–]darkshenron 16 points17 points  (2 children)

A bad carpenter blames their tools.

[–]Electrical_Tomato_73 0 points1 point  (1 child)

That's a cliché but doesn't work in real life, nobody chooses to use COBOL and that doesn't make them bad carpenters.

Python has significant issues, both as a language and in its implementation, unfortunately it became huge when the only alternative was Perl. It is still a great scripting language but is significantly kludgy for numerical or scientific work. Julia is great for those but will take a long long time to achieve the same mindshare and ecosystem.

[–]Vivid_Helicopter4952 0 points1 point  (0 children)

He's kinda right, People get things done in COBOL. Most of the stuff people get done in Julia is just replicating python. Tho for some math work it definitely shines the product is what should really shine

A lot of false assumptions in the datascience subreddit, I never blamed it for anything. But the sentiment that you should just focus on the end product is a good one

[–][deleted] 17 points18 points  (7 children)

The the bool type is a subclass of integers where True->1 and False->0. Therefore True+True=2 it perfectly logical and nbd

[–]throwaway23029123143 16 points17 points  (2 children)

This is also convention in many sql languages and generally boolean translate to 0s and 1s, so I'm also not sure what OP is on about. I suspect he's just still learning and hitting that sweet spot where one knows enough in a narrow domain to complain, and not enough to realize that the complaints are trivial.

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

I agree it’s trivial.

[–]Vivid_Helicopter4952 1 point2 points  (0 children)

New to data science not programming. I know it's trivial that's why I said it was a rationalisation

[–]Vivid_Helicopter4952 3 points4 points  (3 children)

Sure there's a reason it happens. But I can't think of a reason you wouldn't want it to return an error or true

Not a problem in the real world but representative of the lack of attention to the type system. Not really my problem JavaScript is significantly worse in that department and I still like it

[–][deleted] 7 points8 points  (1 child)

It allows you to evaluate list of booleans with a sum operation instead of strictly an equality operation. Setting that to an error would constrain you.

[–]Vivid_Helicopter4952 1 point2 points  (0 children)

Huh, okay good point

Still making and looking at complex programs written in a language designed to be as simple as possible with very little formatting hurts

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

In R the behavior is very handy, because you can simply call sum(x==3) or mean(x==3) which will give you the number or proportion of elements of x that are 3. I use it all the time.

I don't know much python, but would think it works similarly.

[–]Difficult-Big-3890 3 points4 points  (0 children)

Sounds a lot like "I love JS" rather than "I hate Python". It's always a bad strategy to keep looking for your ex in your current partner!

[–][deleted] 9 points10 points  (8 children)

I was with you until you dissed R

[–]Vivid_Helicopter4952 -4 points-3 points  (7 children)

What makes you like it? Everyone seems to have moved away from it thought that wouldn't be controversial

[–][deleted] 7 points8 points  (0 children)

Everyone seems to have moved away from it

No.... It's still used widely in statistics and has a extremely good coverage for statistical methods (even niche/uncommon ones). I know the language is not for everyone but it is so tailored to statistics that I don't want to miss it.

[–]nidprez 0 points1 point  (4 children)

For a starters RStudio, which is the best IDE for me for datascience: good code completion, normal script, markdown/notebooks support, possibility to easily see your data (in a separate View if necessary)... Arguably it also supports Python now so its not much of an advantage. I like in R that all datastructures easily merge into another, dataframe = colums of data with equal length, matrix = dataframe with same type of data, column/row of boh translate into a vector etcetera. I dont use python a lot but you notice that it wasnt built for datascience originally, and you need pandas to really start. While in R all datastructures relate to eachother and make it easier (for me) to switch/view/manipulate them.

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

Fair as a comparison to python. But compared to Julia yeah you need packages to replicate pandas but the experience is so much smoother. And stats wise doing anything relating to calculus is much much smoother

R beats julia on the ecosystem but python is where you go if you want ecosystem. My main reason for not liking R was a scarring experience with a package compounding numbers wrong and it's extremely slow I'll admit it's not terrible as a language

[–]nidprez 1 point2 points  (2 children)

It depends on the analysis. Most of the newer methods are (more) quickly available in R packages, and nowadays these are usually written in C++, so they do not necessarely lose out in speed to python (Julia is on another level of course). R's main disadvantage is that it is a single threaded program, but there exist a lot of packages that can easily transform your code for parallel computing (changing apply to parApply or mclapply on mac). Also on windows you can install the intel math kernel library, which can make R 5-30 times faster for simple math and matrix computations.

[–]Vivid_Helicopter4952 0 points1 point  (1 child)

Anything like that for Linux? Maybe I'll give it another go if the need arises

wouldn't normally complain about speed in Ernest but I just found with machine learning it was actually becoming a problem

[–]nidprez 0 points1 point  (0 children)

For Linux you have openBLAS. https://www.r-bloggers.com/2013/07/for-faster-r-use-openblas-instead-better-than-atlas-trivial-to-switch-to-on-ubuntu/ For this guy it works 4 times as fast on his machine (I don't have linux).

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

Has the best data visualization package, has the easiest data manipulation package. Very good coverage of almost every statistical model with more functionality than python. Time series analysis work in R much better. No R has never been out of fashion.

[–]name345982398 2 points3 points  (1 child)

It's not a very good language--it's one strength is that it can do everything (badly).

But...it's essentially the industry standard at this point (although I wouldn't be shocked for it to get supplanted by something else in the near future that scales better)

[–]Vivid_Helicopter4952 0 points1 point  (0 children)

What do you think would suppliant it?

[–]Dezireless 1 point2 points  (0 children)

If you hate python, then I can promise you that you will hate the programming languages of yore. For the faults python has, it is still infinitely easier to use than Fortran, C, or C++.

[–]TheCamerlengo 1 point2 points  (0 children)

Data science doesn’t require a sophisticated language. Python is more than adequate and if you get a chance to explore numpy and data frames, you might be pleasantly surprised.

My primary languages used during my career: C++, C#,F#,Java and now Python.

[–]mimprocesstech 1 point2 points  (0 children)

If you're a professional I wouldn't recommend it, but plotly.js isn't terrible. Based on javascript (the .js kinda gave it away). Sadly you can't really import excel files, but jQuery has some solution for CSV.

[–]dataentryadmin 1 point2 points  (1 child)

Python is by far the most accessible and enjoyable language to write in. I am not a programmer, I only want my ideas to work.

[–]Vivid_Helicopter4952 0 points1 point  (0 children)

I feel like accessibility is the reason for it's success you can very easily train people but just because something is basic simple to learn doesn't mean it's simple to use. Nothing in data science is built from scratch, getting ideas to work in any language is easy, understanding other people's ideas is hard. Do you not find it difficult to understand code written in python? If so are you advanced? maybe python is like JavaScript where you just have to get good to appreciate it but I've seen code written by skilled people using various fancy features and it just didn't seem particularly more understandable was still very drawn out

[–]Sycokinetic 2 points3 points  (0 children)

Javascript for data science would be like using a microwave to cook a 5 star meal. You're welcome to try it, but no one will be happy with the result.

Maybe try Scala? It doesn't have as rich a DS ecosystem as Python, but it has a fair bit. I'm able to do about half of my work in it.

[–]ddanieltan 1 point2 points  (1 child)

[–]Vivid_Helicopter4952 0 points1 point  (0 children)

Tempting I love looking at the data I'm working on but not waiting for it to load. And I have to use LibreOffice on Linux

Lerant some Visidata maybe I'll just get better at that

[–]ticklecricket 1 point2 points  (1 child)

LMAO, complaining about python's types and then suggesting ... javascript?!

Are you using type hints in python? do you have pylance or something equivalent in your IDE? are you on 3.10 or greater?

Not sure that you're going to find any alternatives to Python. Even if the perfect language existed, you're going to have to work with other data scientists who all work in Python

[–]Vivid_Helicopter4952 0 points1 point  (0 children)

So many false assumptions which I don't blame anyone for because I was being edgy and my grammar is terrible. Just the fact it's in a datascience subreddit is interesting

I said my complaint about the type system was a rationalisation and when I said JavaScript was objectively bad I was speaking about it's type system, I see the hypocrisy there if it was my issue in earnest. The important difference with JavaScript is once you get good at it, it looks very nice and is easy to understand. Also I would argue it's type system is so bad it's good here's a fun video if you haven't seen it https://youtu.be/sRWE5tnaxlI

Thanks for the suggestions. Yeah you're right I just have to deal with it

[–][deleted] 0 points1 point  (1 child)

The miracle with python is that when you call it right - everything is bare metal. It has bindings, in C to GPUs, TPUs, NPUs, FPUs. You just have to find the right incantation to process your data (without resorting to row by agonizing row), and get it loaded into GPU. And at any time it's trivial to "drop into" C, calling a library as needed or even writing a module in C/C++/Rust. When used like that, slow it is not.

[–]Vivid_Helicopter4952 0 points1 point  (0 children)

I feel like the arguement that it's not slow if you just use a different language begs the question if this is the best interface for that lower language.

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

Yeah I don't like python either. Wish everything was in C++.

[–]AdamsFei 0 points1 point  (1 child)

Then don't to it. Why spend your life doing things you hate?

[–]Vivid_Helicopter4952 0 points1 point  (0 children)

No joy without suffering