1
3
Fork
You've already forked website
2

C/C++ for scalability #3

Closed
opened 2023年07月19日 12:55:16 +02:00 by SimonDanisch · 1 comment

This may seem pedantic, but I'm just quite sure this isn't the case:

People don't decide to use C/C++ just for performance, but also for a better project scalability and elimination of many classes of bugs at compile time.

And even if there are some people who do that, it seems like a pretty ill informed decision:
image
https://arxiv.org/pdf/1901.10220.pdf&#:~:text=RQ1%20"Some%20languages%20have%20a,were%20associated%20with%20more%20bugs.

I've read quite a few papers about C/C++ vs dynamic languages for big projects, and can confirm this statistic - so anyone but people coming from C should really not switch to C++ for any other reason but performance :D

Although Julia has a just-in-time compiler that can make it very efficient, it misses the advantages of a real compiler for a statically typed language.

This also seems to be pretty distorted. It makes it sound like the Julia developers really wanted to have a "real compiler" but had to do without it.. Making Julia as dynamic as it is was a very conscious decision and is one of the core selling points of Julia and Julias success would be unthinkable without that decision. E.g. we considered rewriting Makie in Rust, but it would just not be possible since it doesn't allow a lot of the dynamic features we need.

Also, saying that Julia doesn't use a "real compiler", while building upon the same stack of technologies as Rust (LLVM), seems also pretty condescending ;)

Putting these thoughts in an issue, since its not clear to me how change the wording of the blogpost, without changing its essence too much...

This may seem pedantic, but I'm just quite sure this isn't the case: >People don't decide to use C/C++ just for performance, but also for a better project scalability and elimination of many classes of bugs at compile time. And even if there _are_ some people who do that, it seems like a pretty ill informed decision: ![image](/attachments/e5d00eec-dd79-4f7a-8af2-eff2d8908521) https://arxiv.org/pdf/1901.10220.pdf&#:~:text=RQ1%20"Some%20languages%20have%20a,were%20associated%20with%20more%20bugs. I've read quite a few papers about C/C++ vs dynamic languages for big projects, and can confirm this statistic - so anyone but people coming from C should really not switch to C++ for any other reason but performance :D >Although Julia has a just-in-time compiler that can make it very efficient, it misses the advantages of a real compiler for a statically typed language. This also seems to be pretty distorted. It makes it sound like the Julia developers really wanted to have a "real compiler" but had to do without it.. Making Julia as dynamic as it is was a very conscious decision and is one of the core selling points of Julia and Julias success would be unthinkable without that decision. E.g. we considered rewriting Makie in Rust, but it would just not be possible since it doesn't allow a lot of the dynamic features we need. Also, saying that Julia doesn't use a "real compiler", while building upon the same stack of technologies as Rust (LLVM), seems also pretty condescending ;) Putting these thoughts in an issue, since its not clear to me how change the wording of the blogpost, without changing its essence too much...
Owner
Copy link

Hello Simon, thank you for this detailed feedback!
I did address my vague wording in this commit: 50dba86f78

Thank you for working on Makie! I hope that you have seen me promoting it in my tiny talk and in the blog post ❤️

Hello Simon, thank you for this detailed feedback! I did address my vague wording in this commit: https://codeberg.org/mo8it/website/commit/50dba86f78d60a21baa8d73851c2a15ac2be3597 Thank you for working on Makie! I hope that you have seen me promoting it in my tiny talk and in the blog post ❤️
Sign in to join this conversation.
No Branch/Tag specified
main
No results found.
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mo8it/website#3
Reference in a new issue
mo8it/website
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?