News for hackers. Stuff that matters.
Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @05:30PM (#35087757)
Please don't retrofit more stuff to make python work. move over to julia already. u can call python from Julia
Re:Taichi Lang by nhgiang on Thursday March 09, 2023 @05:36PM (#35087813)
New language developers really overestimate most people's willingness to learn new languages
Re:Taichi Lang by cwp on Thursday March 09, 2023 @06:47PM (#35088532)
Yes. It's quite amazing really. Also, people really hate using more than one language. Web developers will twist themselves into incredible knots to avoid having to write HTML and CSS and Javascript in the same project.
Re:Taichi Lang by eyelidlessness on Thursday March 09, 2023 @07:16PM (#35088785)
For what it’s worth, while I’m perfectly comfortable with HTML and CSS, I prefer JSX + CSS-in-JS. This isn’t because it’s one language versus three. It’s because it promotes colocation of related code, and allows a high degree of composability that’s much harder to achieve otherwise. Colocation is great for understanding what a given thing does, and for identifying its dependencies. Composability is great for mapping a domain model to lower level concepts in a coherent way, and for encapsulating dependencies.

This is somewhat achievable with separate languages. But it ultimately takes a very similar shape with additional tooling/ceremony and diminished benefits particularly from colocation.

Re:Taichi Lang by rpmisms on Thursday March 09, 2023 @07:00PM (#35088628)
Nonsense, we do it all the time, we just do it under the guise of Javascript. We just turned HTML into JSX and put our CSS in template literals.
Re:Taichi Lang by cwp on Friday March 10, 2023 @10:09PM (#35104791)
Exactly.
Re:Taichi Lang by andrewflnr on Thursday March 09, 2023 @10:21PM (#35090010)
Not that amazing. People who build languages are people who like languages, and therefore have tried a lot of them and find learning new ones easy and rewarding.
Re:Taichi Lang by schemescape on Thursday March 09, 2023 @07:42PM (#35088999)
It’s not even the language that causes the most friction, it’s the runtime, libraries, package manager, build system, foreign function interfaces, and on and on…
Re:Taichi Lang by nixlim on Thursday March 09, 2023 @07:55PM (#35089101)
This, more than anything and it doesn't only apply to the "new" languages. I spent the last year picking up basic Common Lisp and Elixir just for the fun of it. As "languages" they are great, but their ecosystems made me realize how spoiled I am working in Java.
Re:Taichi Lang by cjohnson318 on Thursday March 09, 2023 @09:41PM (#35089787)
Hundred percent. You're not competing with Python, you're competing with Pip.
Re:Taichi Lang by jakobnissen on Friday March 10, 2023 @01:49AM (#35091233)
It wish that was the case. Then Pkg would have already won, seeing that it's so obviously superior in every possible way.
Re:Taichi Lang by maleldil on Friday March 10, 2023 @04:33AM (#35092374)
Pip is the wrong comparison; it should be with PyPI. The package ecosystem is Python's killer app.
Re:Taichi Lang by cjohnson318 on Friday March 10, 2023 @11:26AM (#35096534)
Ah, you're exactly right.
Re:Taichi Lang by randrus on Friday March 10, 2023 @08:07AM (#35093875)
It’s not the language, it’s the leverage. I came to python in the 90s because of the white space (I was young and impressionable) and stayed for the flexibility and wealth of packages and projects out there.
Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @08:20PM (#35089273)
not overestimate. i think they know of the challenges and stickiness of python die hards.

but there's a better way, there's a better way.

like python used to be less popular than perl but look at where perl is now vs python. things do take time to change though

Re:Taichi Lang by packetlost on Thursday March 09, 2023 @05:35PM (#35087812)
I wouldn't consider Julia a replacement for Python
Re:Taichi Lang by Iwan-Zotow on Thursday March 09, 2023 @08:07PM (#35089190)
and its an ugly thing

they didn't get range composition right

Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @08:15PM (#35089244)
care to elaborate
Re:Taichi Lang by Iwan-Zotow on Friday March 10, 2023 @08:21PM (#35103991)
In C and Python (which inherited it from C, I believe)

for(int k = 0; k != N; ++k) { dowork(k); }, similar in Python

ranges are [0...N). If I want just a sum, and would like to split work among multiple CPUs, I could write

s = sum(0...N) or s = sum(0...N/2) + sum(N/2...N) or s = sum(0...N/3) + sum(N/3...5N/7) + sum(5N/7...N)

and it will work beautifully. Ranges are decomposable and composable with any number(s) splitting original range.

[0...N/2) + [N/2...N) = [0...N)

When I first looked at Julia, I was ... unhappy. They didn't get simple ranges composability right. You could do it, sure, but it looks so ... unnnatural.

Re:Taichi Lang by packetlost on Friday March 10, 2023 @10:25AM (#35095500)
1 indexed arrays has me confused as hell
Re:Taichi Lang by Iwan-Zotow on Friday March 10, 2023 @08:23PM (#35104008)
yep, part of the problem
Re:Taichi Lang by Archit3ch on Thursday March 09, 2023 @05:47PM (#35087923)
As someone in the Julia ecosystem, I wouldn't know where to begin with writing performant python. Is it Numba? Taichi? Torchscript? NumPy? Cython? Pypy? None of these seem to work together (besides calling each other, I suppose).
Re:Taichi Lang by montebicyclelo on Thursday March 09, 2023 @05:59PM (#35088046)
Wow, it seems like you have a number of good options to choose from. What a horrible situation, to have a language with a really rich ecosystem of powerful libraries.
Re:Taichi Lang by adgjlsfhk1 on Thursday March 09, 2023 @06:27PM (#35088348)
The problem is you have 10 different options that all require rewriting your code and you can't share code with anyone who used any of the others (and almost all of them are still pretty slow compared to C++/Julia)
Re:Taichi Lang by jeron on Thursday March 09, 2023 @06:57PM (#35088607)
decision paralysis is a real thing
Re:Taichi Lang by switchbak on Thursday March 09, 2023 @07:35PM (#35088944)
10 options to make up for the deficiencies of the base language? I wouldn't call that a good thing.
Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @08:15PM (#35089243)
amen
Re:Taichi Lang by jakobnissen on Friday March 10, 2023 @01:54AM (#35091265)
In my view they are a broad selection of bad choices, neither of whom will generally work to write fast code. I tried them all on my last large Python project (admittedly, 5 years ago since I switched to Julia since).

Want to use NumPy? Better hope you have code that can be expressed as array computations (a tiny minority of performance sensitive tasks in my field of work).

Cython? Now you're just writing another language, and get the joy of having to distribute compiled code in your Python package - for example, like the very fun segfaults I experienced because Conda will automatically override the system linker, breaking all compilation including my Cython modules.

Numba? Hope you don't make custom classes - you know, one of the basic features of the language.

Re:Taichi Lang by ActorNightly on Thursday March 09, 2023 @09:05PM (#35089558)
Performant code is really a big group of code.

If you look at ML, Python is completely fine because all the processing that happens with matrix multiplication, even on CPUs, far, far, FAR outweighs all the setup stuff in volume of operations.

On the other hand, if majority of your application relies heavily on processing speed (i.e you need compare/jump operations rather just add/multiply/load/store of the GPUs), Python is going to be slow. In this case, if you want custom performant code, you write C extensions for the performant critical code, and launch them from higher level python code.

That being said, there is generally a library (like Taichi) that already does this for you.

Re:Taichi Lang by montebicyclelo on Thursday March 09, 2023 @05:52PM (#35087977)
I think the Julia people underestimate how many people, and how much those people, like the syntax of Python. If they'd stuck more to that they might have been able to have won more people over.. (white space, plus many other things).
Re:Taichi Lang by jarbus on Thursday March 09, 2023 @06:24PM (#35088311)
As someone who switched from python to Julia, Julia syntax supports things like list comprehensions, but also many better things like broadcasting that python really needs. The only thing python has over Julia is that Julia requires an “end” keyword where python uses indentation. But julia has so much more than python (like macros) that it’s just better syntax wise.
Re:Taichi Lang by BerislavLopac on Thursday March 09, 2023 @06:42PM (#35088480)
Python has macros too.
Re:Taichi Lang by adgjlsfhk1 on Thursday March 09, 2023 @07:27PM (#35088888)
as of 2020 (PEP 638), python has macros (but they're still slightly janky). Before that there were decorators which look kind of similar but are a lot less powerful.
Re:Taichi Lang by nerpderp82 on Thursday March 09, 2023 @09:03PM (#35089549)
Are they implemented anywhere? It looks like the PEP is draft. You can do all the macro like things you want using framehacks and eval at the top level. Where they are hard to apply w/o direct support is down inside some function. Then you have to bytecode patch the result on first execution.
Re:Taichi Lang by mathisfun123 on Friday March 10, 2023 @01:36AM (#35091153)
> as of 2020 (PEP 638)

>> Reference Implementation >> None as yet.

> but they're still slightly janky

maybe you're from the future?

Re:Taichi Lang by BerislavLopac on Friday March 10, 2023 @03:43AM (#35092075)
Not just decorators, but all kinds of functionalities that allowed types to be constructed at runtime.
Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @08:18PM (#35089265)
well. python has ALOT of stuff but alot of it is garbage compared to how they should be done. like python's lambda, you literally have to write the word lambda. it's ugly af

i bet the python macros will be ugly af too.

also walrus operator = bdfl no more.

Re:Taichi Lang by acmj on Thursday March 09, 2023 @08:44PM (#35089432)
It is not just syntax. While python has Java-like OOP from a far, Julia has a distinct language design. It doesn't have a concept of "class" in the traditional sense. It instead has multiple dispatch, which is very flexible but sometimes too flexible to control. I found Julia harder to write for an averaged programmer. Furthermore, the time-to-first-plot problem had pissed off many early adopters (I know a few and they won't come back) and apparently remains a problem for some [1].

Julia is a great niche language for what it is good at. It will survive but won't gain much popularity.

[1] https://discourse.julialang.org/t/very-slow-time-to-first-pl...

Re:Taichi Lang by emcemc on Thursday March 09, 2023 @09:28PM (#35089707)
Time to first plot should be all but solved as of v1.9.0 (first stable release ~two days ago).
Re:Taichi Lang by adgjlsfhk1 on Thursday March 09, 2023 @11:09PM (#35090260)
Technically we've only released the first release candidate for 1.9. There's still a few bugs in it, and we'll probably have at least 1 more release candidate before 1.9.0 is released.
Re:Taichi Lang by jakobnissen on Friday March 10, 2023 @01:35AM (#35091148)
It's not going to be solved. Stop saying this. It's a great step forward and a real user experience improvement, but it doesn't solve it.

Packages need to precompile, and they don't. They need to fix invalidations, and they don't. They need to fix inference issues in their packages and they don't. "Using" time remains quite high.

Re:Taichi Lang by xiaodai on Friday March 10, 2023 @06:20AM (#35093038)
"solved" is a big claim. better to just let the speed speaks for itself. ttfp is still somewhat of an issue
Re:Taichi Lang by jakobnissen on Friday March 10, 2023 @01:44AM (#35091195)
There are even more issues with Julia than you mention there. But the point is there are _many issues_ with _every_ programming language: Python is slow, its package management story is a dumpster fire, its object model is bizarre and confusing, its typechecking mechanism sucks. Also, its documentation is terrible (docstrings and documentation of functions) and the built-in REPL is basically useless. Rust has slow compile times, too much macro magic leading to unreadable code, the 90% of what the borrow checker rejects is perfectly fine code, its trait coherence rules are too restrictive, async sucks, and it's totally unsuitable for quick experimentation.

These are all real limitations, but users of these languages learn to live with them. Rustacenans learn to start a build, then so something else while it builds. That is, on its face, totally unacceptable to a Pythonista. Pythonistas learn to always ship performance sensitive applications with _another language_ doing all the hard work: Totally unacceptable for a Rustacean.

If someone tries out Python, spends five minutes getting package management to work and fails, they have not seriously thought about Python as a language. I feel people do just that with Julia: Try it out, then reject it on the first rough edge.

Fair enough: There are many people for whom lack of static type checking or Julia's latency is a showstopper, making the language unsuitable. But I'm still firmly convinced that for scientists/engineers at least, Julia, on balance, offers a better language than Python. I hope you're wrong that it won't gain much popularity.

Re:Taichi Lang by xiaodai on Friday March 10, 2023 @06:20AM (#35093032)
i work in a bank leading some numerical work and I've been training my staff on Julia so we can write monte-simulation code that is fast. heck, the team builds their model in C++ and we soundly beat them with Julia on the code that generates the same results.

when we looked at it, it was because c++ is hard af to learn and the developer dont use it to its full potential. they just use some quantlib which where you look under the hood has many unoptimized parts.

with julia, the code is so simple and clean we even put in some GPU code in one place using CUDA and complete blows the C++ out of the water.

I did achieve some good performace with numba once thought with the avx so pythoni snot all bad but numba is only a small subset of python but with julia i can do crazily fast stuff that looks like python and is readable.

Re:Taichi Lang by acmj on Friday March 10, 2023 @09:55AM (#35095017)
It seems that Julia has been used for numerical stuffs often. Its redmonk ranking is above some great languages like nim and erlang. This is already an achievement for a community-backed open-source language. By "much popularity", I meant "as popular as Java or Python". I had a high hope for Julia.
Re:Taichi Lang by pjmlp on Friday March 10, 2023 @08:15AM (#35093953)
Actually Python OOP is closer to C++ and Smalltalk than Java, but I digress.
Re:Taichi Lang by amval on Friday March 10, 2023 @01:44AM (#35091200)
One of the features that I dislike the most abiout Julia is how list comprehensions have been directlly ported from Python. This was a conscious choice they made out of pragmatism, not because of the merits of the design.

I don't doubt that what you say it's true, but to me, it comes down more to lack of familiarity with other languages than any actual merits of Python syntax and semantics. Frankly, I am glad the didn't take more from Python.

Re:Taichi Lang by Buttons840 on Thursday March 09, 2023 @06:49PM (#35088544)
It's been awhile, but last time I was doing serious work in Julia things were a little janky. For example, the REPL would segfault sometimes if I Ctrl-C'ed during heavy computations. And Flux at first seems like it will work on any code, which seems amazing, but then you find out at runtime that one of the operations you used isn't supported and get a runtime error. PyTorch might not work on regular Python code, but at least I know the APIs provided by PyTorch will work, even though they are a subset of what can be done in regular Python.

Still, most things worked in Julia, and there have been many improvements since then so I suspect the few remaining rough spots are being smoothed out. In the future I will be happy if I get to work with Julia more.

Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @08:10PM (#35089210)
Yeah. It's a chicken and egg thing. Imagine if resources applied to PyTorch was spent implementing in Julia.

But then there's not enough users... so the cycle continues until one day Julia hits critical mass and a tipping point is reached.

Re:Taichi Lang by eastWestMath on Friday March 10, 2023 @02:03AM (#35091330)
I used to be very optimistic about Julia, but my enthusiasm has really cooled off the last year. I find JAX+jax_dataclasses gives me 90% of what I wanted from Julia (a nice monad library that is compatible with jit’ed code and the ability to cache compiled code would make it a solidly better language).
Re:Taichi Lang by staunton on Friday March 10, 2023 @02:34AM (#35091543)
I don't know whether the monad library is nice but caching compiles code is something they are making great progress on. Veraion 1.9 seems able to store most compiled code on disk.
Re:Taichi Lang by v3ss0n on Friday March 10, 2023 @03:01AM (#35091741)
It was even close to death
Re:Taichi Lang by anst on Friday March 10, 2023 @07:19AM (#35093474)
In a winner-takes-all finite world a tipping point may never happen...
Re:Taichi Lang by alphanullmeric on Thursday March 09, 2023 @07:04PM (#35088672)
Ah yes, the language that claims to look like Python and run like C while not being particularly close in either aspect.
Re:Taichi Lang by catchnear4321 on Thursday March 09, 2023 @07:43PM (#35089005)
The problem is I have no interest in calling Python from Julia, since I can just use Python.
Re:Taichi Lang by jalino23 on Thursday March 09, 2023 @07:45PM (#35089023)
julia is so nice but WHY did they have to decide to do a 1 based index?? like theres literally no reasonnnnnnnnnnnnnnnn
Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @08:14PM (#35089238)
let's see, fortran, r, matlab.

all serious numerical languages have that. it's more natural

0 base indexing is only good for calculating memory offsets. Nothing else. like in go `vec[a,b]` is indexing `a` to `b-1` which is purely because it's more convenient due to 0-indexing. this `b-1` is hugely confusing and big gotcha for the layman.

Re:Taichi Lang by acmj on Thursday March 09, 2023 @09:11PM (#35089596)
> all serious numerical languages have that. it's more natural

And almost all serious general-purpose languages use 0-based. It is more natural at least to me. You see, this is exactly why 1-based index of Julia is disliked by many.

Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @10:14PM (#35089971)
taichi and julia aren't exactly aimed at general-purposes folks like u though. so there's that.

you may not like rachel macadams, but she was never gonna be urs anyway. so meh

Re:Taichi Lang by wpietri on Friday March 10, 2023 @12:55AM (#35090903)
If your goal is to promote Julia, your comments here are having exactly the opposite effect on me.

Style aside, you can't simultaneously complain that Julia doesn't get the resources of a general-audience language and then talk down to "general-purposes folks". Julia could be the bees knees for math-y stuff. And if so, good for it. But Python's success is because its flexibility makes it pretty good for a wide range of things, even if it'll never be great for any one of them.

Re:Taichi Lang by xiaodai on Friday March 10, 2023 @06:25AM (#35093069)
i bet u dont do numerical computing so julia ain't for u anyway.

i love python. in fact, in my daily run on cloud run it's one of the key component since it has a decent gcp client library for writing query code to bigquery.

but then i glue it up with bash and run some other analysis in julia.

i think you can have python, julia, bash, r, whatever. heck, i even dabled in go and react.

just saying julia is aimed at numerical first.

and i think 0-based indexing was merely a historical accident anyway due to lack of memory in early computers so use every last bit including the 0 even though it's not suitable for indexing but is suited for calculating mem offsets.

whatever, use whatever u like, not trying to promote julia to you or anyone else. just having a good argument on friday afternoon

Re:Taichi Lang by wpietri on Friday March 10, 2023 @09:34AM (#35094738)
Just to be clear, I am saying that you "having a good argument" is harming my impression of Julia. And you, of course.
Re:Taichi Lang by est on Thursday March 09, 2023 @09:19PM (#35089644)
Julia is an OK replacement for Fortran. Nothing more.
Re:Taichi Lang by inconceivable on Thursday March 09, 2023 @11:01PM (#35090208)
it would be wonderful if interpreter/compilers could just make this an option.
Re:Taichi Lang by TheRealKing on Saturday March 11, 2023 @02:19PM (#35111647)
You realize how absurd the discussion of array start index is when you learn Fortran arrays have naturally had arbitrary-start-index for over three decades: a(-9:0), a(0:9), and a(1:10) are all valid declarations of a vector of size 10.
Re:Taichi Lang by l_theanine on Thursday March 09, 2023 @08:09PM (#35089205)
Julia doesn’t have proper traits nor interfaces, making it impossible to actually organize code effectively. It’s unacceptably difficult to reason about which method will actually be called because of the type system, which results in weird situations where you have to dig through methodswith() to figure out which piece of junk is even being executed, what’s wrong with it, where it lives, etc. Barring metaclasses, which I’ve only bumped into a handful of times in the past decade of high-level professional Python work, it’s straightforward to find where a method lives because of the class hierarchy. Finally, because of how obtuse the occasional metaclass usage can seem, they’re typically documented by the developers well, eliminating the question in the first place.

Python has classes, so it’s pretty straightforward.

Julia has type instability, which can make debugging performance issues not only difficult, but unpredictable. Python is very easy to debug, and typically straightforward to call out to Cython, Numba, Taichi, or soon Codon. There’s a wealth of incredible tools to choose from.

The Julia language is suitable for mathematical programming for mathematically minded people, it’s NOT at all suitable for producing high quality software that may pass through dozens or hundreds of sets of eyeballs, for many years.

Also, retrofit isn’t really an applicable word here because basically every piece of software out there is retrofitted, in a certain sense. Nobody uses v0.0.1 of anything…

But, I’m replying to a Chinese spam account, so what does it really even matter?

Re:Taichi Lang by xiaodai on Thursday March 09, 2023 @08:12PM (#35089220)
> Julia doesn’t have proper traits nor interfaces

as opposed to Python? where type hints are just that. Hints. It's not even enforced. But u can use mypy... right.... yeah, retrofit more stuff on python. why not? (sarcastic).

I am not a Chinese national btw, I am from Malaysia.

Re:Taichi Lang by l_theanine on Thursday March 09, 2023 @08:34PM (#35089366)
I’m talking about code organization, not types. In Julia, methods are grouped together by type dispatch, mostly. There are times when code reuse comes into play where it’s helpful, but mostly it just confuses the issue and introduces ambiguity into the structure of the program in the big picture sense.

My mistake, I saw your name was xiaodai and assumed.

My point is, Julia is not suited for general software, and it’s questionable as a tool for technical computing as well.

For running simulations and models where the code can be written and never looked at again, maybe it’s okay to use. But for anything else, Python is a lot nicer, and a lot more practical to write proper software in.

Re:Taichi Lang by nativecoinc on Friday March 10, 2023 @01:34AM (#35091139)
> My mistake, I saw your name was xiaodai and assumed.

Oh my bad, I disregarded your comment based on your assumed Chinese nationality and “spam” (also assumed?). Since you’re not Chinese you’re worth my time.

I don’t get it.

Re:Taichi Lang by l_theanine on Friday March 10, 2023 @07:00AM (#35093308)
Luckily, I wasn’t replying to you? Weirdo.
Re:Taichi Lang by cbkeller on Thursday March 09, 2023 @10:29PM (#35090044)
I've seen this criticism that it's "difficult to reason about which method will actually be called because of the type system" once before, but it absolutely flummoxes me... I have literally never been confused about which method is going to be called by my code, and I'm not even a proper computer scientist (just a regular scientist scientist).

Maybe this is just an issue of not having years of OO habits influencing the way I reason about dispatch in Julia?? Honestly not sure.

Re:Taichi Lang by blindseer on Thursday March 09, 2023 @11:52PM (#35090528)
I’ve never had any trouble understanding my code but understanding someone else’s multiple dispatch code has ALWAYS been hard for me.
Re:Taichi Lang by dang on Friday March 10, 2023 @11:29PM (#35105341)
We've banned this account. Regardless of how right you are or feel you are, you can't attack other users like you did in this thread, and certainly not for ethnic/national/racial reasons.

I appreciate that you have lots of good points to make but we need you to abide by the site rules: https://news.ycombinator.com/newsguidelines.html. Please don't create accounts to break those rules with.

Re:Taichi Lang by ActorNightly on Thursday March 09, 2023 @09:27PM (#35089701)
I used to hate Python too, but i complety 180ed in the past few years as I learned more about computer science.

If you look at compute in general, it can be pretty much be summed up as add/multiply/load/store/compare/jump (straight from Jim Keller). All the other instructions are more specialized versions of that, with some having dedicated hardware in CPUS.

If you need to do those 6 things as fast as possible, on single piece of hardware, you are most likely writing a video game. Thus video game development is pretty much C/C++ with a few things of Swift/C# sprinkled about.

If a single piece of hardware requirement goes away (i.e you are writing a distributed system to serve a web app), people quickly figured out that hardware is cheaper than developer salary, and also network latency is going to be the dominant thing for speed. This is the reason Python took off - its super quick to write and deploy applications, and instead of paying a developer $10k+ a month, you can just spend half that on more EC2s that handle the load just fine, even if the end user has to wait 1.5 seconds instead of 1.1 for a result.

If you don't need compare/jump, your program is essentially better off suited to running on the GPUs. OpenCL/CUDA came about because people realized that a lot of applications simply need to do math without any decisions along the way, and GPUS are much better at this. The paradigm is that you write kernels that you then load onto the GPU - this can be done in any language since you really just need to run the code once. I.e Python, despite being slow is used primarily for ML because of this.

Then there is multiply/add only, which you probably best know in implementation as ASICs for bitcoin mining that blew GPUs out of the water. When you don't have memory controllers and just load/store from predefined locations, your speed goes through the roof. This is the future of ML chips as well, where your compiler looks a lot like the verilog/hdl compilers for FPGAs.

Furthermore, with ML, the compare/jump and even load/store is being rolled into multiply/add. You have seemingly complex algorithms like GPT that make decisions, but without any branching. Technically speaking, a NAND gate is all you need to make a general purpose CPU and you need 2 neurons to simulate a NAND gate. So you can build an entire general purpose CPU from multiply/add.

So in the end, its absolutely worth investing in Python and making it better. Languages like Julia are currently better suited to performant tasks, but the necessity of writing performant code to run on CPUs is going away slowly with every day. Its better to have a high purpose language that allows you to put ideas into code as quickly as possible, and then have different specializations for more generic tasks.

Re:Taichi Lang by okaleniuk on Friday March 10, 2023 @02:03AM (#35091328)
Tried that. It was fun. Didn't see any benefit though, went back to Python.

I don't care much about how the interface over LLVM looks like. As soon as I have the same result in the end, I'd rather stick to whatever has more users.

Re:Taichi Lang by v3ss0n on Friday March 10, 2023 @03:00AM (#35091730)
That's quite silly. Julia ecosystem is non-existent. If we move nimlang would be the closest . PyPy shaping up nice for cext part and when fully compatible we will just use PyPy.org.

Julia language features are really weak.