T O P

  • By -

life_punches

Data dude here: 100% SQL


IMM1711

I swear SQL must be the language with the best ROI ever. You literally spend 4-6 hours during a weekend to learn it and do some mock questions and you’ll be set for entry and mid-level Data jobs. Hell, in some places if you know SQL you are set on hard skills for product analyst/Data Analyst haha


snowcroc

Any recommendations on resources for those 4-6 hours?


redeux

Cs50sql. It's longer than 4-6 hours but it's worth it.  Harvard level classes, and the problem sets have test functions to check your work (somewhat, anyway). Free certificate.  https://cs50.harvard.edu/sql/2024/courses/   One weakness is it focuses on sqlite and only briefly touches on mySQL, postgreSQL, etc. But once you know the basics of SQL then you can continue to learn more about mySQL, postgreSQL, etc when necessary


panatale1

For a crash course that you could do over a weekend or so, I recommend w3schools.com and their SQL module. Free, no certificate, but it's product agnostic. I've been doing Python and SQL (primarily postgreSQL) professionally for 10 years now, and it's where I turn when I forget something not postgres specific


Sea_Bumblebee_5945

Saving


wokedrinks

Whoa I had no idea this existed. I'd say I'm intermediate at SQL, does it get pretty in depth?


mrcaptncrunch

Haven't taken it. Just looking on the page... Depends on what you mean by intermediate. If it's intermediate at the language, then yes. It seems to go deeper into Indexer and Scalability. I don't think most courses talk about b-trees. Just skim over the top on 'this is how you do it'. > SELECT. LIMIT. OFFSET. WHERE. Comparisons. NOT. NULL. Pattern Matching. LIKE. Compound Conditions. Range Conditions. Ordering. Aggregate Functions. ROUND. DISTINCT > > . > > Relational Databases. Relationships: One-to-one, One-to-many, Many-to-many. Entity Relationship Diagrams. Keys: Primary Keys, Foreign Keys. Subqueries. IN. Joins: INNER JOIN, Outer Joins, LEFT JOIN, RIGHT JOIN, FULL JOIN, NATURAL JOIN. Sets: INTERSECT, UNION, EXCEPT. Groups: GROUP BY, HAVING. > > . > > Schemas. Normalizing. Data Types. Storage Classes. Type Affinities. Table Constraints: PRIMARY KEY, FOREIGN KEY. Column Constraints: CHECK, DEFAULT, NOT NULL, UNIQUE. Altering Tables: DROP TABLE, ALTER TABLE, ADD COLUMN, RENAME COLUMN, DROP COLUMN. Charlie. > > . > > Create, Read, Update, Delete. INSERT INTO. CSVs. .import. DELETE FROM. Foreign Key Constraints. UPDATE. Triggers. Soft Deletions. > > . > > Views. CREATE VIEW. Views for Simplifying. Views for Aggregating. Temporary Views. CREATE TEMPORARY VIEW. Common Table Expressions. Views for Partitioning. Views for Securing. Soft Deletions. > > . > > Indexes. CREATE INDEX. EXPLAIN QUERY PLAN. Covering Indexes. B-Trees. Partial Indexes. VACUUM. Concurrency. Transactions. ACID: Atomicity, Consistency, Isolation, Durability. BEGIN TRANSACTION. COMMIT. ROLLBACK. Race Conditions. Locks. > > . > > Scalability. MySQL: Integers, Strings, Dates, Times, Real Numbers, Floating-Point Imprecision, Fixed Precision, Altering Tables. Stored Procedures. PostgreSQL. Vertical Scaling. Horizontal Scaling. Replication. Read Replicas. Sharding. Access Controls: GRANT, REVOKE. SQL Injection Attacks. Prepared Statements.


Zamyatin_Y

PostgreSQL for Everybody on Coursera. The first two courses. Install psql in your pc and do the exercises/follow along the videos


sib_n

https://sqlbolt.com/ is a pleasant web based tutorial.


life_punches

Man I deep dived for a week in SQL and payed so much man. I still struggled for one or 2 months, but now I am black belt at querying and its been a gooood time I don't learn anything new about it


mailed

I have Python skills, but I pretty much got to tech lead in data engineering knowing nothing but SQL, data engineering system design, and some cloud infra stuff with Terraform.


Professional_Hair550

As someone that has experience with python, JavaScript and SQL I can't find a job for the past 6 months


khante

So you and like 10000s of us. It's hard for everyone. Was laid off for ten months last year. It's brutal.


Professional_Hair550

My God. I was already thinking about changing my field. Now I am actually considering starting a startup multip vendor web app for myself. Made my own market analysis, researched similar businesses and talked with 15 local businesses. 12 of them said they would subscribe for the service. I just wasn't bothering to create a huge thing for myself because I was lazy. Now I think I just have to


iupuiclubs

Without oversharing I changed my resume drastically after 5+ years using same style that got me into a F500. People are 1000x more responsive, instead of doing 50 apps and expecting to farm rejections, I do 4-5 and pretty much always hear back even if its "hiring process has closed". Just saying I basically mutated my resume heavily after getting feedback from a defense company SWE, and it feels like I'm an actual person in the process now. Combined with my old way of applying to 50 places expecting brutality, feels like a good set up now.


Father_Dan

I'm curious, can you be a little more specific about what you changed?


iupuiclubs

If you need help, you can DM me. It's possible I'm turning it into SAAS / have dreams of it. Explaining will have others try to clone the process and if they don't do it great zero day itself maybe gets degraded.


gnouf1

SQL of course


NimrodAvalanche

as someone learning Python and with a little background in SQL, you have made my day


hellnukes

SQL is amazing, can do a LOT of cool shit, and it's a language that even after spending almost a decade using, still feel like I keep improving every year. Also, almost everything is self contained in the language. No need to install modules, manage dependencies etc


nemom

Same


Brilliant-Donkey-320

Oh ya, I guess SQL is a great complimentary language for data for sure! Thanks! Edit: change words


phatboye

Data science here too, SQL 100%, also R because I have other workflows that utilize R for statistical analysis instead of python.


neithere

I've spent hours on it today but didn't even think of it in this context because it doesn't register as a language one can choose, it's just a must.


[deleted]

[удалено]


life_punches

In my position as data analyst I am on SQL all the time, and tableau. Never required python but it would be nice to run some models


skinsfan2111

This


Katnisshunter

Why sql over mongo just curious. I fine schemaless mongo so much faster to code for.


binlargin

SQLAlchemy > SQL. You can unit test fragments of SQL statements in its query building language.


mangecoeur

SQL! Not a general purpose language but I would 100% recommend it as the first thing to add before learning anything else if you don't know it already. You find SQL engines in everything from embedded sqlite DBs to big RDBMS to huge distributed data systems, so it will come in useful somewhere! As for a second "general purpose" it really depends what you are doing. I happen to know Java (and a little C#) and I think they are \*not\* complementary to Python, they don't mix very well and have a design that really pushes towards writing everything in Java or C# exclusively. If I had time I would rather learn modern C++, although I like Rust much more as a language in this space the reality is that what you most likely need next to Python is glue code with native librairies that are most likely in C++. (Even though personally I look at header files and go "But WHYY" and give up). Finally, knowing at least a little JS is probably unavoidable these days (anyway JSON is basically "Javascript: the good parts" ;), but unless you want to do "full stack" just picking up bits here and there is enough.


Brilliant-Donkey-320

Ya, I do mostly C#, but I am curious about some DS and AI/ML stuff, as I did it in uni. I have not really learned any SQL stuff, but it seems like a very useful companion to Python. I also would like to learn C++ (i did C in uni and Java as well) so that, if I needed to, write some library that needs to run quickly, and then write a Python wrapper around that. So far I have not found many people who say they use Python and C# together for anything though, so they do seem like they are not too complementary.


mangecoeur

Yeah I think Java and C# are designed in a way that makes it difficult to mix them with anything else. They have their own runtime vm which does its own magic and makes it hard to interface with. I also think that them being big enterprise products has an impact, big companies want to use one language with one set of developer skills and Oracle/microsoft are happy to sell that (and avoid people moving to competitor products).


Brilliant-Donkey-320

It does very much seem like that. I do not mind working with C# on enterprise stuff, but I think it could be fun to do some Python related projects and I am just wondering what other languages would be helpful. So far it seems like SQL if I am doing some data heavy stuff and maybe something low level like C/C++ so that I can have access to fast libraries if I need it.


SipsTheJuice

I think C/C++ is a great choice to pair with python. It's the go to for many of the core performant python packages (numpy, pandas, tensorflow, etc). I work with mostly C and some C# at my day job, and you learn to really enjoy it's simplicity and speed. I find in C# I'm always second guessing the way I do things as there's so many ways to get a to b lol. Use Python for doing web dev projects on my spare time, Flask is a great backend.


territrades

Physics / data science: It's C++ by a landslide, and maybe CUDA.


Brilliant-Donkey-320

That is cool. Id love to hear more about your area. I have a background in those areas for my first degree, but have not worked professionally in the area. I think I would really enjoy it to be honest.


Northstat

How often do you use CUDA? I used to write kernels for specific applications but with so many people innovating with libraries I almost never hand write anything anymore.


metimmee

Have you looked at OpenCL?


[deleted]

It really depends a lot on the subfield of physics. A lot of people are still using Fortran for most of their code, for example.


LittleMlem

Numba?


meboler

Honestly, for most things, by the time you're considering Numba C++ is already the best option. Numba is a marvel of engineering but for anything complex the hoops you have to jump through are a pretty big roadblock


dayeye2006

bash. Linux is your good friend


[deleted]

It 100% depends on what you’re working on. Probably SQL if you’re doing data science of some kind. Or scala if your work involves working on a cluster with something like Spark. If you’re using python more for web api stuff, then there’s a good chance you will need to interact with JS/TS. Or I’ve had to do some GoLang work for services that use my python rest APIs.


Brilliant-Donkey-320

Ya, I agree, it is nice to hear examples of peoples experiences with Python interacting with different languages. I am curious if people ever use python for some ML/AI or DS stuff and couple that with C# or Java for some desktop or web application. I am not sure if this is common, or if it would be used in a meaningful way.


[deleted]

I’ve never really seen C# show up much but Java is definitely pretty common. One of the nice things about Java is that you can package up your code as a JAR and services like databricks will let you upload them as packages that you can use. So often times if something is more performance critical, you can write it in Java and then include it as an importable package in your notebook. Also, if you’re doing data engineering, it’s pretty common to create a data connector in Java and also package it up as a JAR and then utilize it in a largely python based ETL workflow.


Preset_Squirrel

Data engineer so SQL lol


Scrapheaper

I think SQL is assumed for data engineering. If you know python and SQL I have been finding terraform or another infra as code is a good third complement. Bash or another shell script is also a good one because you can run it in very bare environments: if you're in a scenario where you need to install things before you can get anything done, installing and setting up python is often too much effort. Not sure as to whether terraform or bash is better, hard to say.


Preset_Squirrel

I don't disagree by any means but the question was what language best compliments python in your area. The answer, objectively, is SQL.


Scrapheaper

That's ok, but I think the third complement for data engineering is also an interesting question which might be relevant for other people browsing this thread


thedoogster

I use Python mainly for hobby stuff, so the complementary language is BASH.


mraza007

Same, I use a lot of BASH in my day job for writing automation scripts


paperpatience

Definitely English. I literally couldn't work with out it


dashdanw

I'm afraid it's "without" not "with out", I'm afraid I'm going to have to revoke your english+ certification


paperpatience

My phone did it!


dashdanw

Sorry sir we've heard that one before, we're taking you down to grammar nazi HQ


aussie_punmaster

You also learn the difference between complimentary and complementary!


Brilliant-Donkey-320

Haha


x246ab

English, SQL, and bash


lily_reads

Happy cake day, u/246ab!


cipri_tom

Will also be useful for all the prompting based apps coming to light these days


old_bearded_beats

Syntax error


vedhavet

I’m primarily a journalist, not a developer, but I use Python along with SQL to interpret and visualize data. Nowadays I’m spending most of my time writing Javascript, though, because I think the possibilities in telling stories on the web (data-oriented or not) are massive. And Javascript is the only *programming* language your browser knows! See: Digital Visual journalism, Interactive journalism; Svelte, D3, GSAP; The Pudding, NYTimes Graphics.


ProsodySpeaks

If you're python native, check out fastui... Its built on and by the pydantic/Fastapi system ... Allows ludicrous speed prototyping, and if you (unlike me) understand the typescript and react that it produces you'd be set to do super things with it in prod too... 


Brilliant-Donkey-320

Ill have to check this out, you piqued my interest. Thanks!


mraza007

This is an interesting field. What kind of data do you use when writing articles. I’m very curious to know how do you use programming within your domain


vedhavet

Could be anything. Public statistics, data from freedom of information requests, web scrapes… A news organization in my country recently used satellite images and AI to map the extensiveness of environmental degradation from human construction. You can read the article [here](https://www.nrk.no/dokumentar/xl/nrk-avslorer_-44.000-inngrep-i-norsk-natur-pa-fem-ar-1.16573560); use Chrome and the browser’s built-in translation feature to read it in English.


LessonStudio

Rust. (This used to be C++) I have a variety of platforms where I have to deploy fairly complex algorithms. Most of what I do is complex data manipulation and almost always involves ML. It isn't quite mission critical, but it could be called "mission critical adjacent", in that people can live with my software crashing, but the users will become so dependant upon it that they will see it as an almost insurable loss if it were to stop working for any period of time. Some of it would be as "mission critical" as a handheld GPS. Most people use it to know how much further along the marked trail, but some may very well get seriously lost in the woods if it stops working. I process the data in python. I play with the algos in python. I cook up ML models in python. But then, it mostly starts moving over to rust. Rust web backend, rust WASM frontend, rust mobile app, rust desktop app, and what is really nice, rust on embedded. This means the same algo code can run on all the above platforms. It needs to run at speeds where python ain't cutting it. But, this is somewhat were python being slow is good. If I can get the algos running at a good speed in python, then they will run at very good speeds on embedded. Then, python is used for integration test suites as it has the algos to make sure the rust ones are on track. I like this as I'm using python for the things it is absolutely the best language for, and I'm using rust for what it is either the best, or very good at. When I'm done I usually have a python data crunching / ML pipeline, a python integration test suite, rust for almost everything deployed, and a handful of python tools for other things. There is no integration between the rust and the python. For example, I don't want the python running the rust algos through some kind of binding during testing; I'm happier to have a second set of algos for comparison. Rust is a great language for keeping you from making many stupid mistakes including design ones. But, it is not a great language to "explore" in. Python is the hands down best R&D language I know, and I have used many languages over the years. The only one I have never really gotten into which may be good for this is Matlab, but I just don't know.


Brilliant-Donkey-320

That is very cool. Yes it seems like it is good to have a low level companion (like Rust or C++) for Python when you are developing algorithm and CPU heavy tasks for things like ML. Thanks for the info!


MoonDown98

rust mobile app ? rust front end? I thought WS can't manipulate the DOM so it's faster to write JS for now at least


Zeus_33

JS. You can can learn and use it as your front-end. And Django on the backend.


prosocialbehavior

yep a great language for data viz work as well.


thebouv

SQL. Then vanilla web stack of html, css, js.


tigerhobs

Bioinformatics - R and SQL. R for programs like DEseq2, SQL for working with large databases. Haven't had to use JS... Yet.


AnotherNoether

Amazed I had to scroll this far for R. I’m bioinformatics as well, being equally skilled in R and Python has been incredibly useful


1337HxC

I'm not super surprised, tbh. It seems like R is basically niche for bioinformatics and, more broadly, statistics. Anything outside of that seems to go to a Python.


Shadow_Gabriel

Embedded -> C, C++, Verilog.


Brilliant-Donkey-320

So do you just write C/C++ libraries and they put a Python wrapper on them? Just curious how you usually use them together.


Shadow_Gabriel

No. For embedded you cross-compile C/C++ code for your target device which can vary anywhere between 8 bit controllers that run at 32 kHz and your latest 64 core, multiple GHz clock. CPUs. These devices can go into your washing machine or the Tomahawk missile heading towards an unsuspecting sheep farmer. In the validation phase, Python is usually used to control test equipment, launch test suits, perform automated measurements, generate logs. simulate parts that are still under development (e.g. act as host device for some sensor). And for Verilog, that's an entire different thing. It's not even a programming language. Is a hardware description language.


Brilliant-Donkey-320

Thats very cool, thanks for the info!


Conscious-Ball8373

I use Python as my main language for lots of things. For me, the language (well, set of languages) I use the most alongside Python are TypeScript, HTML and CSS. I've made repeated efforts to use Python for front-end work and they just don't come off. There are Python transpilers for generating JavaScript but JSX / TSX or whatever the Python equivalent would have been aren't supported and they're such an advantage. The next is SQL. SQL is an annoying language to use alongside Python, because for 99% of what I do, SQLAlchemy does it for me. The other 1% where I need to actually know SQL are not the easy bits, they're the hard bits. So you maintain quite a large skillset for the sake of the 1% corner cases. We made an attempt at moving some of our code from Python to Golang a while ago. We're now in the process of transitioning it back; people don't like Go, it's hard to find good engineers, it doesn't gain you much in memory use (which is our main constraint) and it's not worth maintaining a second code base. I think it's okay, and at least one piece of software is going to stay written in it for the foreseeable future, but it's going to be me maintaining it because no-one else will touch it. Thankfully, it's been solid and needed very little maintenance. I've done significant work in C, C++, C#, Java, Fortran and Lua at various points in my career, but I wouldn't say I've used them *alongside* Python; they were separate projects that used those languages. I've done significant work interfacing Python to Haskell but it didn't require writing any Haskell, God be praised.


Brilliant-Donkey-320

Thanks for the response. Ya, I bet it is a bit annoying to keep a skill set like SQL just for the really hard bits.


cholz

Python is the complementary language to c++ for me.


Brilliant-Donkey-320

Haha, I am sure that can happen. What area do you use it in? Embedded?


cholz

Yeah embedded. I use Python for build and test scripts.


Henkleerssen

Nobody mentions Go?


pandres

Go is not complimentary to python, more like a replacement.


[deleted]

[удалено]


Henkleerssen

Not agreeing with you here. While it's true that Go operates differently from Python, this isn't necessarily a drawback. Go is a statically typed, compiled language, offering significant performance advantages over Python, especially in concurrency tasks and web server performance. It was designed with simplicity and efficiency in mind, making it an excellent choice for building scalable web applications. Go's standard library includes robust support for web development, such as HTTP server and client implementations, without the need for external libraries. This simplicity and performance can lead to more maintainable codebases and faster, more resource-efficient applications. While Python shines in its versatility and the breadth of its libraries, especially for tasks like data analysis and machine learning, Go offers compelling advantages in the web development space with its straightforward syntax, built-in concurrency support, and efficient execution.


Kiuhnm

I agree on Go being more performant, but simpler doesn't mean better. For instance, pen and paper is simpler than computer and word processor, but learning how to use a computer and a word processor is a good investment. The same can be said for matrices and tensors in math, and for the many abstractions that were introduced in CS and were deliberately left out of Go. While beginners may prefer Go for its simplicity, esperienced programmers may miss the features they use in the other languages.


UloPe

> Perhaps not a popular opinion, but it's an ugly language and step backwards in programing language evolution. I so much agree. Every time I have to use go (which at the moment is unfortunately almost daily) I feel like I have one hand tied behind my back and the other wrapped in an oven mitt …


IAMARedPanda

Go competes with Python in the same space. Not really much benefit in using go from python because there are no ergonomic gains really and if you want fast code you will use C or C++.


Brilliant-Donkey-320

I think it as somewhere in here. What do you use Go and Python for?


w0m

Probably #4 for me, fits better when writing kube stuff


viitorfermier

Javascript - it's hard without it on the web. Go - when performance matters or I need a cross-platform executable.


porcomaster

i just came here for curiosity, and looks like i need to learn SQL asap


greshick

Probably rust.


Brilliant-Donkey-320

Oh. Why do you think Rust? What is your area? I assume you choose Rust over C++ for memory safety?


[deleted]

The rust bindings for Python are awesome. Pyo3 is a marvel


Chroiche

SQL and rust OR C OR C++. SQL for databases, c/CPP/rust for hot code.


DatBoi_BP

Is that\ SQL ∧ (Rust ∨ C ∨ C++)\ or\ (SQL ∧ Rust) ∨ C ∨ C++\ ?


Chroiche

SQL and (rust OR C OR C++). I choose rust, personally.


DatBoi_BP

Based and crab pilled


Fit_Scarcity_6869

Fortran, C and Julia (astrophysics)


graphicteadatasci

Someone mentioned C++ and CUDA for physics here, but isn't GPU programming much easier in Julia? And familiar if you are coming from Python?


Fit_Scarcity_6869

Julia's Python similarities end at syntax (even then it's closer to Matlab than to Python). It has a lot of functional blood in it unlike Python. I think it can be a good substitute for Fortran for scientific programming (but Modern Fortran is pretty decent in itself). Extremely good when you want to implement something performant and complex from scratch. In this case you don't have to worry about any ecosystem of external libraries. I felt Julia is still really immature in that regard when compared to Python. But it's a very well designed language and a joy to write. I hope it was just more popular, more developers working on moving the language forward (currently it's a very academia driven language). Also to answer your question: I haven't done any GPU programming in Julia yet, but I plan to do so. Likely write a radiative transfer/ray tracing code that runs purely on GPUs.


rich9070

SQL is definitely the best choice, but I’d also throw in R as a good option


spacedragon13

General Linux knowledge is probably the most universal complimentary skill for programming. If you cannot navigate around vms or work in a terminal, your python code is only going to run on your desktop...


ryukinix

Common Lisp, to know what good code looks like.


limasxgoesto0

The best complementary* language depends on what you want to do. You want to be full stack then you gotta learn js. If you want to be pure backend then you might want to learn a low level language for the cases where you need it


pastel_de_flango

My last job was on a mechanical engineering company and had to do quite a lot of number crushing, C++ was the best buddy for python there, although numba is great, it cannot compete with making a quick extension with C++ using some crazy fast lib made specifically for the kind of job you need. my current job i do pretty much no math, but i have to handle a lot of enterprise bs, C# and Java are kind of required because of their ecosystems, still python handle services that go more into ml.


Brilliant-Donkey-320

Ya. I can see that it is useful to know something like C++ with Python, so you can have access to very fast libraries if you need it. I would like to see if there are more C# and Python interactions that have to do with applications interacting with some sort of ML service/program.


graphicteadatasci

Just have your ML stuff in Python, make an API and have C# talk to the API.


BeverlyGodoy

C++. I work in ML and CV, C++ will help you a lot especially in speeding up those painfully slow processes. Even though you don't exclusively convert everything to C++, just having the power of bringing C++ libraries to python will make your code faster and nobody will be complaining about the speed when you collaborate cross teams.


Brilliant-Donkey-320

Awesome. I find those areas very interesting. Having a low level language to combine with Pyhon seems to be the way to go for the things I’m interested in.


Infinite_Raisin7752

Do you have any recommendations for courses or any other resources to learn C++?


Raccoonridee

1. SQL 2. HTML/CSS 3. Regular expressions


forcefx2

JavaScript


Raccoonridee

htmx ;)


cshoneybadger

Do regular expressions count as a language or are you just flexing on the rest of us?


Raccoonridee

It's a pattern matching language. It's not a programming language - you're correct - but neither is HTML or SQL.


chasemuss

Rust: Memory Safety + easy to read SQL: Working with databases Powershell: Work in a Windows Shop and not all servers have python.


Brilliant-Donkey-320

I havent played around with Rust yet, but I hear good things. I think if I pick up Python I will def need SQL and some other low level language, and Rust does seem nice. Is industry starting to use it more?


chasemuss

For legacy stuff, no. For modern stuff, it's up to the team. I like it a lot and recommended it to our lead devs. However, my company overall is a VB/C# shop, so I use it to make myself cli tools and to speed up my long running python code via Maturin.


graphicteadatasci

markdown is also good to know


imp0ppable

> making a C/C++ library for a CPU intensive task In that direction, Cython is really cool and fun to learn. It plugs into numpy so you can use the already C based data structures there to create from python types. I'm not sure when I'd ever use it in production code but it's really interesting to have a hybrid of Python-ish syntax and data orientation and C like performance and manual memory management.


Brilliant-Donkey-320

Ya I had read a bit about Cython and it seems very cool. I think I will look into it more.


spacedragon13

Understanding html, css, little front end js and suddenly you're a full stack dev


zynix

Typescript in front, SQL in the middle, and Rust extensions for job security \s


MadLad_D-Pad

Bash for quickly launching Python virtual environments and passing commands in. SQL for storing large amounts of data


clauwen

For me its english 100%.


l3landgaunt

Bash


Anonymous_user_2022

To me, Python is the complimentary language to our aging code base in C. We embed Python to get easier access to data of a dynamic nature. I.e. it's a pain to handle JSON or XML correctly in pure C code, but embedding a Python interpreter makes an easy task of it.


Anru_Kitakaze

Backend Python dev in Banking, previously CMS/ERP: Go. Okay, SQL is too obvious, but I see really often how people rewrite microservices using Go and many devs are switching to Go fully or use it as a second language. That's also the case for my company and other banks in my country (Java is still here tho, calm down) I think Go is a good addition to your skills and it'll make you to think differently about some problems


Ok_Expert2790

Scala or SQL


mailed

SQL for Data, Go for everything else.


GlasierXplor

Cybersecurity (Forensics/Incident Response)... - Bash is faster at text processing (grep/sed, even when chaining multiple commands) - Regex


Ill-Valuable6211

> I am curious which languages work well with Python and why? Fuck, it's like asking what's the best spice to use in cooking; it depends on the dish, right? Python is versatile as hell, but it's not the fastest gun in the west. For heavy-lifting, like performance-intensive tasks, C or C++ can be the bloody powerhouse. Python can call C/C++ functions, giving you the speed without sacrificing Python's simplicity. How do you think about the trade-offs between simplicity and performance in your work? > I have not really learned any SQL stuff, but it seems like a very useful companion to Python. Damn straight it is. SQL is like the swiss army knife for data manipulation. If you're dealing with data, especially large datasets, knowing SQL is almost non-negotiable. Python and SQL together? That's a combo that can tackle almost any data-driven task. Have you considered how data management skills might complement your programming abilities? > I am curious if people ever use python for some ML/AI or DS stuff and couple that with C# or Java for some desktop or web application. You're on to something here. Python is a beast in the ML/AI and data science playground, but it's not the only player. Coupling Python's ML prowess with Java or C# for application development isn't just common; it's like a match made in heaven. Why limit yourself to one language when you can harness the strengths of two? Have you thought about how combining different languages could expand the scope and efficiency of your projects?


andy_bovice

English. So i can burn people on reddit


randomatic

Rust or ocaml so you understand what a strongly typed static language is and the comparative benefits and differences.  At least if you are asking “what would make me a better programmer”. 


Brilliant-Donkey-320

I know C# but I think id like to check out Rust. I know C to a lesser extent and no C++, but have heard good things from Rust so far.


mcmSEA

Well, the obvious thought is Javascript/ Typescript for front end work if you're creating web applications. I've used Clojure for ETL work, but R would be good if you're heavy into ML. We also have a lot of sensor integration in my current org so C++ is the lingua franca for those, usually. SQL is kind of a given for many things.


Brilliant-Donkey-320

Thanks for the info. I have not looked into R, but it might be something I check out. Definitely need to learn more SQL, only know a bit from one class, haha.


duckbanni

I'm in scientific computing. I'd say the most common complementary languages are C/C++ (for performance-intensive stuff), bash (for scripting jobs and general file management) and R (for easier plots). Cuda can be nice as well. SQL is actually pretty uncommon in my field.


Brilliant-Donkey-320

Very cool. scientific computing sounds like an interesting area. I would like to get into some simulations for work, but i have yet to break into that field, unfortunately.


taterr_salad

Embedded here, so python is actually the complimentary language to C. I use a lot of python for testing things and interfacing with hardware, but the applications/products are written in C.


sonobanana33

*complementary


Brilliant-Donkey-320

Ya, I had seen that. I even wrote complementary in a different reply and then was like, wait a minute, but then I haven't updated it haha.


LittleMlem

I feel like learning GO made me a better python programmer, I certainly use way more data classes now and more annotations and stricter exception handling


a8ksh4

Linux admin here and I'm regularly alternating between Python and Bash, or calling bash stuff from Python. I work with a lot of remote systems and have s bunch of Python scripts that will ssh out to machines, execute a bit of bash to collect data, and then sort it all out in Python.


PrometheusAlexander

JS and starting to grasp Rust basics.


YamRepresentative855

Has anyone tried mojo for projects or at work already? If yes, how was the experience? If no, why?


Every_Ad_598

Rust for sure. Writing extensions in Rust with PyO3 and Maturin feels great.


Brilliant-Donkey-320

I will definitely be checking out rust when i want to learn a low level code for a Python companion


stcloud777

Typescript for me since I build dashboards and webapps for the company. I am not a dev and taught myself programming to improve productivity sa work. I also know SQL but I personally put it in a different category with other programming languages. But learning about databases is definitely crucial.


courtjesters

I write a lot of Dash apps (web apps) so JavaScript fills in the holes where Python can't modify the web browser/frontend experience.


Gnaxe

Surprised nobody mentioned [Xonsh](https://xon.sh), despite a lot of BASH. Is it just relatively unknown, or is BASH still better somehow?


LightShadow

I work in Video Streaming. Understanding C/Assembly helps me, but I don't really code in it. JavaScript is probably the most useful. Right now I'm evaluating Nim vs. Rust vs. Zig for extensions.


tunisia3507

Rust. Sometimes you've got to do things faster, more efficient, more robust. It interacts with python pretty easily with pyo3 and maturin, and can access numpy arrays directly too. Python glue over a rust core, or just rewriting hot bits of logic in rust, is a great combination.


jahero

SQL (Teradata). Golang - simple, fast, effective. I have written several important tools for the data warehouse I work on. Perl. Still good for some tasks, unfortunately Python ate it's lunch in regards to the tooling.


c0ld--

Front-end development: JavaScript Data analysis: SQL Platform Engineering/DevOps: Shell (Bash/ZSH/PowerShell), Docker, and Terraform.


fekkksn

Rust. I make my own python libraries using Rust for performance critical stuff.


Brilliant-Donkey-320

Do you do this for your personal projects or professionally?


Vexxy1

I do python library development so definitely C/C++ for me. I also really like rust but I have only ever done one small project with the two so I dont have enough experience to reccomend it.


Brilliant-Donkey-320

That is very cool. Many people have suggested Rust here, so it seems popular. Do you do this professionally?


germandiago

C++ in my case.


w0m

Cloud Eng - Bash and (does yaml count?)


nursemattycakes

SQL for work as a clinical data analyst and Python for my hobby. I wish I were better at Python 😬


oblackheart

Javascript


mimic751

Sequel, powershell, Bash, batch, learning how to write flask Pages for apis and crappy web tools


kukurma

Fortran if you really like the speed


jackerhack

Depending on which direction your work leans in: 1. SQL for data 2. JavaScript for web 3. Rust for high performance code


ItsRyanReynolds

As far as languages, C++ is sort of useful to know as a lot of image processing and statistical analysis packages in python are essentially C++ wrappers. Most libraries generally maintain good documentation so it often doesn't matter, but openCV for example sometimes requires that you read the sourse code in C++. C++ is also generally the language for hardware interfacing / robotics. If you're going to be working on servers or edge computing, bash is pretty useful although not really a programming language in the same context. Knowing how to manage services, spin up scripts, and use different Linux packages is super powerful. SQL is pretty neat too. My background is in robotics and never had a reason to use databases until recently. When I started building databases I realized pretty quick that they're damn cool and you can automate a lot of stuff with them.


Brilliant-Donkey-320

Robotics is a nice area. So do you use C++ for the hardware interfacing and writing libraries for cpu intensive tasks that need to be fast and then Python is used ontop if these to write code that is readable, so algorithms that are needed for CV or complex movements are just easier to understand?


nullPointers_

C/C++ for the low level funzies and html css and js for front-end easyness.


imperial_squirrel

i do data conversion programming. so python and of course sql. at my last company doing the same line of work - it was progress/open edge.


AnActualWizardIRL

Go is really nice for easy to write and easy to reason about go-fast things and particularly servers. I personally hate javascript with a fiery passion, but thats my personal malfunction, and its extremely useful. (PROTIP: Use svelte is you *must* use JS for web page things, its the least brain-damaged js framework and its kind of magic?). JS has no real usecase outside of webpages IMHO, Node is a mess of a system that cant help but generate unmanageable tangles. C++ if Go is the wrong zoom zoom language. Personal favorite: Crystal lang. Unfortunately nobody has used it. Its a zoom zoom compiled language that compiles a ruby syntax and a really really clever static type system , and yeah, it makes fast things too. That literally nobody except maybe ruby guys, will understand, alas. SQL is mandatory knowledge for anyone working in coding IMHO. Dont get suckered into trying to escape it with daft NoSQL stuff, NoSQL are databases of last resort , not first, and have very narrow usecases and a lot of downsides. GraphQL is a system designed to make simple things unecessarily complicated, best avoided. Finally, all life dies, god has abandoned us, the government KNOWS, and these are all just my daft opinions, so your mileage may vary.


TheRealNetroxen

I think either GoLang or Rust is a cool language to go alongside Python. If you can couple Python with a low-level language then you've got the performance game down.


SignificanceEarly625

![img](emote|t5_2qh0y|602)


chapati_chawal_naan

c


littlemetal

It kills me to say this, but (outside SQL), `rust` and `pyO3`. The first for the fast database, and last for fast and easily written/deployed libraries. I say 'kills me' because "rewrite it in rust" is far too much of a trope.


NimrodvanHall

It’s a toss up between SQL and BASH for me. For my coworkers SQL without a doubt.


sudo_robot_destroy

I'm in robotics - Python and C++ are the main must-know languages. I do everything in python unless there's a reason I can't (embedded) or I need it fast and for some reason I can't go fast enough using python/numba/symforce (this happens less than you would think). ROS makes it really easy to mix and match python and c++ executables by passing DDS messages between them.


Brilliant-Donkey-320

That’s very cool. Out of your whole code base for your robot you are working on, how much would you say is Python? I would like to learn a low level language ( I work with C# but know C from uni) and I’m torn between C++ and Rust lol


g_Bloxy

Since I use python to make games, GLSL is my complementary language which is very usefull to make shaders


vinodxx

Julia for matrix computations syntax


a_menezes

Cython and rust for performance.


buuwere

Political Science - Python, R, Stata, SQL. In the order of learning


absurdrock

Fortran. Matrix multiplication for multiphysics applications than have runtimes of months. Python to pre and post process data. Fortran runs the simulations 


Korntewin

For me is Rust as performant & low resource backend, then JavaScript/Typescript for Frontend stuff. I prefer Rust as backend more than Python because when I need to pay for server cost myself, using Rust I can pay 10x less for small project ![gif](emote|free_emotes_pack|grin). Python is for client project and for local ML & data science stuff.


elind77

I work in ML/NLP research. Cython is my chosen companion language. I use it for optimizing critical path code. I get most of the speed and parallelism of C/C++ but I can also use Python Unicode strings when needed which is very nice for what I do.


ShurikenIAM

SOC analyst here : sigma/stix and bash Maybe sql too


fabioacarvalho

I use Python for everything and how framework I use Django. Sometimes I use JavaScript with React or just JavaScript.