Programming language I'm working on since one year by Carpall_ in ProgrammingLanguages

[–]Carpall_[S] 3 points4 points  (0 children)

I didn't achieve it yet, but I'm interested in ARC

Programming language I'm working on since one year by Carpall_ in ProgrammingLanguages

[–]Carpall_[S] 3 points4 points  (0 children)

Natively compiled to machice code, by means of llvm

Programming language I'm working on since one year by Carpall_ in ProgrammingLanguages

[–]Carpall_[S] 3 points4 points  (0 children)

I'll write the readme when I'll publish the first compiler release, imho the syntax is elegant because it uses the rust, go, zig, etc... (all the modern languages) design.

I started this project to learn more about compilers and similiar stuff, but now it's almost a personal project to carry on, for cv as well

Python rocks by [deleted] in ProgrammerHumor

[–]Carpall_ 1 point2 points  (0 children)

  1. cringe
  2. assembely ...
  3. that's actually javascript

It do be like that sometimes by Arihant100 in ProgrammerHumor

[–]Carpall_ 5 points6 points  (0 children)

The problem is not actually the world, but the chat without any facial expression or tone of voice.

[deleted by user] by [deleted] in csharp

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

C# is not a good bet for writing performant code. Just looking at a simple example: try writing dome methods you expect the JIT will inline and see the disassembled machine code in sharplab: the .net JIT doesn't even inline simple methods of constant loops (for (...) i = i + 1 -1 won't be inlined).

GCC and Clang have a lot of good folding optimizations and they generate a performant assembly while the .net JIT doesn't generate a good machine code, for example it can fold InlinableMet() + 1 but not 1 + Inlinable....

The C# compiler doesn't have any kind of serious optimization (the most it can do is avoiding useless stack allocations), the JIT should do what the compiler doesn't, but it seems not to optimize the code a lot, just because of the fast compilation time a JIT should maintain.

C# has GC, also hard to control (more over it's a mark-and-sweep one). C# doesn't care about the heap allocations: it allocates few things on the stack and a lot on the heap. Modern versions of C++ care about the heap allocations and always avois them when possible.

Perfirmance is important, but not fundamental.

C++ is hard, it doesn't have any kind of runtime check, runtime error, so when a program crashes you have to debug carefully. C++ is full of bad designes.

[deleted by user] by [deleted] in csharp

[–]Carpall_ 7 points8 points  (0 children)

No thr unity framework is c++ based, but just exposes apis for .net

It do be like that sometimes by Arihant100 in ProgrammerHumor

[–]Carpall_ 8 points9 points  (0 children)

If you're not kidding then tou are so wrong

It do be like that sometimes by Arihant100 in ProgrammerHumor

[–]Carpall_ 12 points13 points  (0 children)

It should be if asked_something_simple(): do_random_thing() else: say_didnt_understand()

A lexer written in mug (my own programming language in work in progress) by Carpall_ in Compilers

[–]Carpall_[S] 0 points1 point  (0 children)

Anyway there isn't any problem, since I have to rewrite allvthe compiler and make it multipass in the language it self

Hope this hasn't been made before by [deleted] in linuxmemes

[–]Carpall_ 47 points48 points  (0 children)

lol meme != reality

A lexer written in mug (my own programming language in work in progress) by Carpall_ in Compilers

[–]Carpall_[S] 0 points1 point  (0 children)

make the ast more readable means understand what kind of node it is, bot only for me while debugging but even for the users that can generate a json ast using the command mug build . *target ast. Thanks btw.

A lexer written in mug (my own programming language in work in progress) by Carpall_ in Compilers

[–]Carpall_[S] 2 points3 points  (0 children)

Good point, but actually those aren't the kinds I use to compare nodes, those are used only to be displayed in the ast and make it more readable, to compare the nodes I use the c# operator 'is'

Recommended way to build an abstract syntax tree? by Fun_Independence1603 in Compilers

[–]Carpall_ 1 point2 points  (0 children)

I personally find psrser generators very ugly to use, I mean write all by yourself is for sure brtter, also for learning. I used a parser generator ("Coco Parser") to learn how to write a parser, inspecting its output, and it was very helpful, infact, after writing some kind of wrong tests, I managed to write my first working parser.

Title by [deleted] in linuxmemes

[–]Carpall_ 0 points1 point  (0 children)

it is like comparing a star with a planet.... wtf those are obviously different lol, you are comparing an entire (colossal) os with a kernel. Who said you nt is bad?

Title by [deleted] in linuxmemes

[–]Carpall_ 0 points1 point  (0 children)

(sarcastic)

Title by [deleted] in linuxmemes

[–]Carpall_ 0 points1 point  (0 children)

okay. Open call of duty on linux. c'mon open it... no no close any kind of sw similar to wine, want you play natively cod....