News for hackers. Stuff that matters.

mrathi12

Re:Object-Oriented Programming in C (2019) [pdf] on Sunday September 05, 2021 @04:49AM (#28422587)
This is such a common fallacy. C exposes lower-level memory management, but to then say "oh now you have pointers you can implement anything" is a push.

If you need to implement virtual tables and function pointers, you'd use C++ - there's no need to reinvent the wheel.

Besides software engineering is about focusing on the intrinsic complexity, and using languages and tools to mitigate the incidental complexity.

Re:Object-Oriented Programming in C (2019) [pdf] on Sunday September 05, 2021 @04:45AM (#28422567)
> C lets you use OO if you want it

Tenuous - if you are willing to implement objects yourself then you could use C sure, but I don't think that means the language "lets you use OO". It's like you could also probably implement algebraic datatypes in C using unions and structs, but would that mean "C lets you use algebraic datatypes"? I would strongly argue no.

Re:Writing Well-Documented Code – Learn from Examples on Saturday September 04, 2021 @04:53PM (#28419085)
Agreed, I think that the code itself should be readable through better names, with the comments being a bonus rather than critical to the understanding of the code.
DTP tackles Article 20 of GDPR
Re:Ask HN: What startup/technology is on your 'to watch' list? on Saturday December 26, 2020 @09:07AM (#25543520)
WASM is definitely one to look out for.
Re:A Complete Guide to LLVM for Programming Language Creators on Saturday December 26, 2020 @07:15AM (#25542996)
While we're here, let's not forget about the incredible Kaleidoscope tutorial. They really helped me get a grip with LLVM.

https://llvm.org/docs/tutorial/index.html

Re:A Complete Guide to LLVM for Programming Language Creators on Saturday December 26, 2020 @07:08AM (#25542959)
Hi, author of the post here. Thank you very much for your kind words!
Re:A Complete Guide to LLVM for Programming Language Creators on Saturday December 26, 2020 @07:07AM (#25542958)
Yes, exactly. Clang emitted IR especially has a lot of (C/C++)-specific junk. If you look past that clutter, it's not too bad.

I think the best way to learn to read IR is to look at super-minimal examples, and then you'll be able to tell which parts of larger IR files are relevant.

Re:A Complete Guide to LLVM for Programming Language Creators on Saturday December 26, 2020 @07:02AM (#25542934)
The command to use is `clang -S -emit-llvm -O1 foo.c`

It'll write it out to a foo.ll file.

(I use -O1 so it cleans up a bit of the messy parts of the IR).

Re:A Complete Guide to LLVM for Programming Language Creators on Saturday December 26, 2020 @07:01AM (#25542930)
> learn to write little C programs and use clang to emit the IR.

Highly recommend this. I used this to get an understanding of how to implement the IR for my language.

Re:A Complete Guide to LLVM for Programming Language Creators on Saturday December 26, 2020 @07:00AM (#25542927)
Regarding this post in particular, I chose to document everything in terms of the C++ API as that's the native API. You can use any of the other bindings, and just translate the syntax across to your language.
Re:A Complete Guide to LLVM for Programming Language Creators on Saturday December 26, 2020 @06:58AM (#25542921)
Hey, author of the post here. Do I think the C++ API is important? For most languages no. The OCaml bindings in my case were almost sufficient, but I planned to do some memory fences and other operations in my language that the OCaml bindings didn't have.

In hindsight, it's probs better to choose OCaml bindings and then link in any special instructions you need from C++ if you need to.

Re:Advice I wish I'd received as an Intern on Friday December 25, 2020 @01:45AM (#25534760)
Hey, Author here. This post is just some of the advice I picked up along the way. What advice would you give interns and junior developers starting out in the industry?
Re:LLVM for Programming Language Creators on Thursday December 24, 2020 @12:56PM (#25529710)
Author here. Let me know if you have any questions about the guide to LLVM. Happy to answer questions!
Author here! Feel free to ask questions about the post :)
Ah, yes I have, apologies! Will repost with the correct link :)
Hey all, author here, happy to answer any questions you have!

Older »