I ike to talk bout software engineering

Joined December 2019
Edgar Rodríguez retweeted
The sooner we replace the whole wall of text in markdown the sooner we can stop looking at code reliably
1
1
59
Edgar Rodríguez retweeted
Replying to @hmemcpy @Savlambda
After a lot of FP programming, I no longer use “declarative”, everything feels quite imperative, it was all a lie 😂
1
2
5
113
Edgar Rodríguez retweeted
Since February, I’ve been spending part of my time rewriting TypeScript’s modules documentation, replacing years-outdated content and adding some that’s never been written down. There’s always more to write, but I’m publishing it officially today. 1/5 typescriptlang.org/docs/hand…
8
58
9
417
85,085
Edgar Rodríguez retweeted
🛠️I've been creating various Domain-Specific Languages (DSLs) since the start of my career over 14 years ago. I've built maybe a dozen of various external DSLs and embedded DSLs. 🚀Every time this was the best decision that impacted the architecture of my applications in a good way. On the pictures: 1⃣ External DSL for Spaceship Control Software (quite rich in PL features) 2⃣ Type-level eDSL for the game objects and properties in Haskell 3⃣ eDSL for interaction fiction games like Zork: Grand Inquisitor 🙄DSLs are underrated in the industry. 😞Partially because we have scarce resources on how to build your own. 🫤Partially because Domain-Driven Design ignores Domain-Specific Languages completely. Instead, it talks about Ubiquitous Language which has a broader meaning than DSLs. However, with no code representation, UL is just a blah-blah that is yet to be designed and developed. 😖Partially because DSLs are mistakenly mythologized to be a part of Programming Language Design. "You should be as smart as Computer Scientists or should be the one to develop a DSL!" 🚫🔬🚫 Nope. Taking DSLs as a scientific task similar to building a regular programming language is unnecessary at least and wrong at most. ⛔️Forget about those extinct animals called bison, yacc, and lex. These ones are for a Serious PL Business™️. If you're wondering if you need it, you don't. Otherwise, you knew enough to not even ask this question. ➡️ Simple external interpretable DSLs can be made over XML, JSON, or even YAML. In this case, you don't even need to write parsers manually. ➡️ ADT-like interpretable external DSLs are also easy to build with Haskell's Read and Aeson features. ➡️ Monadic parsers such as Haskell's parsec and megaparsec can handle more complicated external DSLs with ease. 💠Embedded DSLs are another joy in programming to practice. I'd even argue it's more fun than bending your mind around smart things, type-level stuff, and metaprogramming. 📑In particular, eDSLs allow to encoding of the domain in the purest way so they are well-suitable for collaboration between developers and non-developers. 😃😃I did it several times, and I've seen this process in the wild. It worked extremely well. This allowed us to 🚢 the functionality much faster and to be clear about what we're actually doing. 💪DSLs have the power to enhance software quality, improve the understanding of the domain, and reduce the complexity of its encoding. 🎇Also, building DSLs is a lot of fun. I can't leave this post without recommending some literature. 📘Building User-Friendly DSLs, Meinte Boersma 📗Domain Specific Languages, Martin Fowler, Rebecca Parsons 📙Domain Specific Languages, Andrzej Wąsowski , Thorsten Berger 📚I'm a big fan of DSLs, and I believe our software could be much better written if it had more DSLs embedded into it.
14
34
2
274
37,499
Replying to @WarrenInTheBuff
Yeah works for sure, we have a saying: "Kotlin and OCaml in the streets, Idris and APL in the sheets"
1
1
4
102
Edgar Rodríguez retweeted
Replying to @graninas
As a programmer stepping into mathematically structured programming, it was bound to happen. I studied general programming and other concepts and found them lacking, but those based on math feel better. So yeah, no one en indoctrinated me 😂 I gravitated naturally into that order, saw unnamed pattern all over my code for years until I found CT, MSP and FP. CT is everywhere tho, I find it in Piano, and Cooking too, I think is just a way our brain organise things. I think it would be cool of MSP/FP were as ubiquitous as OOP *to talk* about more patterns that happen in the code, not necessarily to constraint it, but just to understand and communicate, I saw/wrote monads for 10 years before knowing someone else coined the term and added some laws that made it play nice with other structures 😅
1
1
6
807
Edgar Rodríguez retweeted
Which framework has the most help from TypeScript and ESlint when templating? (tsx, .html, .vue, etc) (second pool in the next tweet)
100%React
0%Qwik
0%Solid
0%Angular
3 votes • Final results
1
1
121
Edgar Rodríguez retweeted
With every new skill, expect a hill of discomfort.
13
52
8
327
24,292
Edgar Rodríguez retweeted
Replying to @sabine_s_ @graninas
I started pursuing FP and mathematically structured programming *because* I think when you are years-in building an app simple patterns emerge for the spine of the system as well as the organisation around it, which often look like one of those higher order abstractions.
2
1
1
414
Edgar Rodríguez retweeted
A good example of just how hopeless "visual/not-textual" programming paradigms are is how circuits, which in the end are literally laid out in a 2D or "2.5D" space, evolved to be designed using Verilog/VHDL text with automated layout and just a sprinkle of visual 2D schematics
4
15
4
109
12,860
Edgar Rodríguez retweeted
An idea for OSS sustainability: get paid every time someone critiques your work.
1
7
238
Edgar Rodríguez retweeted
Can this lens be improved? Or is there a better way to look at or deal with this? So my specific question is: How to make a lens that provides sub-lenses for each branch of a Sum Type? #purescript #haskell
1
1
2
1
1,022
Edgar Rodríguez retweeted
I could use some advice from more experienced #entrepreneurs / #solopreneurs / #founders I'm building a niche job board for 3D artists. Here's where I'm stuck...
2
1
3
148
Most orgs I worked in think that communication is collaboration. They ask staff to use emails/wikis/Lucidchart/Slack & proclaim that to be collaboration. But the thing is, it's not collaboration. It's communication. Collaboration > communication.
3
2
10
732
Edgar Rodríguez retweeted
📊 To the people who work in the tech industry: Have you ever had depression and/or burnout or simply felt burned out in your professional life so far? Please be honest, it's anonymous. Pls RT for reach (needed for my talk at @LaraconEU). I'd really appreciate it. ❤️
86%Yes
14%No
1,416 votes • Final results
19
45
3
22
27,248
Edgar Rodríguez retweeted
"Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter" -Eric Raymond
4
21
Edgar Rodríguez retweeted
Open to #Haskell Gigs ! : D Both part & full-time gigs work as long as the work's cool Context:- - Been dabbling in Haskell for ~2 years - Recently finished reading Haskell-in-depth - Currently, the 2nd highest contributor to the popular #haskell install tool GHCup DMs Open📩
1
13
31
Edgar Rodríguez retweeted
What's your attitude to model-based testing?
74%Never heard of it
20%Heard of, never tried it
5%I love it
1%I hate it
862 votes • Final results
9
9
9
Edgar Rodríguez retweeted
Do you know of any programming languages that define NaN to be equal to itself?
5
2
19