Please tell me your favourite programming language without telling me the language πŸ‘‡
@nixCraft will blow your leg off.
@nixCraft @psyhackological "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off" - https://www.stroustrup.com/quotes.html
Bjarne Stroustrup Quotes

@nixCraft sadly it's ... IEnumerable<T>
@nixCraft Shakes fist at meters of compiler error output

@nixCraft
In which sense favourite?.. In some sense this

>++++++++[<+++++++++>-]<.>++++[<+++++++>-]<+.+++++++..+++.>>++++++[<+++++++>-]<+
+.------------.>++++++[<+++++++++>-]<+.<.+++.------.--------.>>>++++[<++++++++>-
]<+.

@nixCraft Lambda: The Ultimate Imperative.
@nixCraft "Spam Egg Spam Spam Bacon + Spam"
@nixCraft noobs will claim my favorite language is very risky and complex, but that's just because they're noobs
@nixCraft goto label;
@LaurentFr @nixCraft
Option Explicit
?
@Hal_9000 @nixCraft no, it's the Forbidden Instruction in a famous single-letter language :-)
(In fact I use it from time to time, it has a few useful use cases !)
@nixCraft "Why use many words when you can use little?"
@nixCraft alternatively my least favorite; why not use as MANY words as possible? #Java #Vietnamflashbacks
@Gina @nixCraft when I learned this language I was so happy to read all the improvements they added to reduce the number of words.. just to discover that the compagny wanted retro compatibility with lower java version so of the marvels have to be thrown up to the trash 
@ouroukaye @nixCraft I worked in gov at the time, so we were always at least 4 Java versions behind πŸ₯²
@nixCraft xor AX, AX
@distrowatch @nixCraft
xor ax,bx
xor bx,ax
xor ax,bx
@jmax @distrowatch @nixCraft You could swap ax and bx and this would still work
@hosford42 @distrowatch @nixCraft - that took a couple hours to land. Well played.
@hosford42 @distrowatch @nixCraft So, as long as we're here: The time I used that trick to help a class of 30 students cheat on a homework assignment 1/n
@hosford42 @distrowatch @nixCraft Time: mid 80s. Context: I am a college student working the help desk at my school's computer center.
The school computer at the time was a CDC Cyber 170/something-or-other. It was a very weird beast from an architectural view. 60 bit word, designed to run Fortan really fast. Seymour Cray's design, from before he left to start Cray Research. 2/n

@hosford42 @distrowatch @nixCraft Theoretically, my job is strictly to help students with the gear and procedures for logging in and so forth. We were explicitly not supposed to help with actual coursework.
Which didn't stop people from asking for help with homework constantly

So, one day, my friend Eric and I are at work, and a kid comes up and asks for help with homework in the intro assembly programming course. While I'm starting the "We aren't allowed to help with homework" spiel... 3/n

@hosford42 @distrowatch @nixCraft I read the actual assignment, and realize that the professor has inadvertently handed out an impossible task.

"Write a macro which swaps the contents of two registers while leaving all other registers unchanged."

Except by using the xor trick, you can't do that on that machine. The professor was used to PDP-11s or Vaxen, where you have a stack.

So we explained the xor trick to everyone who asked for help. 4/n

@hosford42 @distrowatch @nixCraft To his credit, after calling us on the carpet, he did say "Oh" and apologize to his class. That assignment ended up not counting.

We were still officially in trouble, but nobody cared to push it.

@nixCraft

```

bool foo(const void *ptr, size_t size)
{
struct {
uint16_t val1;
uint8_t val2;
uint64_t val3;
} __attribute__((packed)) EntryStruct;

if (size != sizeof(EntryStruct))
return false;

const struct EntryStruct *entry = ptr;
…
}

```

""" @nixCraft I'm not sure spaces translate properly across clients """

if they_do:
print("Cool.")

@nixCraft Explicit is better than implicit.

@nixCraft
DATA: lt_kna1 TYPE SORTED TABLE OF kna1 WITH KEY kunnr.
LOOP AT lt_kna1 ASSIGNING FIELD-SYMBOL(<ls_kna1>).
ADD 1 TO lv_number.
SELECT SINGLE * FROM kna1
WHERE kunnr = @iv_kunnr
INTO @DATA(ls_kna1).

It's really good. For data wrangling. Which most business software is doing.

@nixCraft I can't tell you, but perhaps I can give you a few pointers.
@nixCraft I can do this: !!$too
@nixCraft meaningfully verbose

@simonlevesque @nixCraft Java?

Edit: oh sorry, you said meaningfully.

@Gina @nixCraft yep :)
At first, i just wanted to say "verbose", but then i recalled some other languages like C++ where using templating with auto pointers is awfully verbose :p
@nixCraft it’s all about the monads.
@nixCraft I write everything in a single line. Of Klingon.
@nixCraft SELECT
pl.language_name AS programming_language
FROM programming_languages pl
WHERE pl.favourite_language = 'Y'
;

@nixCraft You
wouldn'
t get
it

right

@nixCraft Blazingly fast πŸš€ and memory-safe πŸš€
@nixCraft In order to make a working linter for webapps they first had to design an entirely new language.