Yeah third party thinker just use your brain duh

"What's your go-to tool as a programmer these days?"

My brain, same as it always has been!

468 points · 33 comments · view on lemmy.world

33 Comments

killeronthecorner@lemmy.world · 107 pts · 363d (6 replies)

I'm a big fan of my keyboard

Zorsith@lemmy.blahaj.zone · 57 pts · 363d (5 replies)

The Universal Serial Bus is pretty good shit. Plug n Play is a great feature.

int32@lemmy.dbzer0.com · 30 pts · 363d (2 replies)

microsoft: THERE STILL IS SOMETHING THAT JUST WORKS! WE NEED TO ADD AI SO YOUR KEYSTROKES WILL BE WRONGLY INTERPRETED!

SeductiveTortoise@piefed.social · 18 pts · 363d (1 reply)

Not only wrongly, but really slow as well. That'll be $5.99 a month, please.

int32@lemmy.dbzer0.com · 4 pts · 362d

and with an internet connection required(good luck entering your wifi password without a keyboard)

fckreddit@lemmy.ml · 7 pts · 363d (1 reply)

Although not really useful, I simply love RGB lighting in the keyboard.

Zorsith@lemmy.blahaj.zone · 5 pts · 363d

Same, i don't like south-facing RGB though; at the right angle they peak out behind keycaps and just drill me right in the damn eye (photosensitivity sucks...). That and the lack of dedicated indicator LEDs for caps/num lock are the only things i don't like about my current keychron keyboard.

omgboom@lemmy.dbzer0.com · 42 pts · 363d (6 replies)

Also stack overflow

mushroommunk@lemmy.today · 24 pts · 363d

Or even better, libraries of functions you've built up over time from visiting stack overflow

marcos@lemmy.world · 17 pts · 363d (2 replies)

A really good way to evaluate an ecosystem is looking if people look into documentation or stack overflow first.

When it's stack overflow, the ecosystem always suck.

Witchfire@lemmy.world · 12 pts · 363d (1 reply)

Agreed, I 100% prefer to parse through documentation than stack overflow

Genius@lemmy.zip · 4 pts · 362d

I prefer good documentation over stack overflow, but I prefer stack overflow over bad documentation. If other programmers are mostly using stack overflow, it means the documentation sucks

Dumhuvud@programming.dev · 3 pts · 362d (1 reply)

May I suggest avoiding recursive functions where possible? They are usually the ones overflowing your stack, duh.

zarkanian@sh.itjust.works · 4 pts · 362d

The trick to avoiding recursive functions is to avoid recursive functions.

bisby@lemmy.world · 34 pts · 363d (5 replies)

I'm going to count vim, or any other IDE as a tool. You don't just will your thoughts into the computer (at least most people don't, that I know).

BartyDeCanter@lemmy.sdf.org · 34 pts · 363d (1 reply)

Relevant xkcd: https://xkcd.com/378/

n7gifmdn@lemmy.ca · 6 pts · 362d

Did someone say emacs? https://youtu.be/urcL86UpqZc

Wizard_Pope@lemmy.world · 11 pts · 363d

I astrally project my thoughts into the PC.

kbobabob@lemmy.dbzer0.com · 4 pts · 362d (1 reply)

You could count the fucking chair as a tool. This post is dumb, lol.

Honytawk@feddit.nl · 2 pts · 362d

I really enjoy the air that I'm breading.

Couldn't code without it.

dan1101@lemmy.world · 11 pts · 363d

Global variables

joyjoy@lemmy.zip · 10 pts · 363d (7 replies)

Goto is evil.

lunarul@lemmy.world · 6 pts · 363d (5 replies)

Unless you're programming in assembly

Dumhuvud@programming.dev · 2 pts · 362d (2 replies)

I mean, in C too.

I used it when I wrote some throwaway C++ code working with SQLite. Since it had no RAII (and I had no intention of writing my own wrapper), I had to manually cleanup multiple resources somehow. If at least one resource failed to initialize, I had to deinitialize the ones that didn't fail. It was either goto or a bunch of flags to track what is initialized. goto looked more elegant.

jwmgregory@lemmy.dbzer0.com · 1 pts · 362d
[ removed ]
Dumhuvud@programming.dev · 1 pts · 362d

I misremembered the whole thing. It was still related to cleaning up after a failure, but there was only one resource I had to deal with. That's how it looks like:

    sqlite3 *db;
    int r;

    r = sqlite3_open("./data.db", &db);
    if (r) {
        std::cerr << "Can't open the database: " << sqlite3_errmsg(db) << std::endl;
        return r;
    }

    r = sqlite3_exec(db, "CREATE TABLE IF NOT EXISTS foo(...);", nullptr, nullptr, nullptr);
    if (r != SQLITE_OK) {
        std::cerr << "Can't create a table called foo: " << sqlite3_errmsg(db) << std::endl;
        goto out;
    }

    // a few more sqlite3_exec calls;
    // some sqlite3_prepare_v2 calls combined with sqlite3_bind_* and sqlite3_step calls
    // for repeated queries.

out:
    sqlite3_close(db);
    return r;
librekitty@lemmy.today · 1 pts · 362d (1 reply)

goto in assembly? nah, might as well JMP

lunarul@lemmy.world · 2 pts · 362d

Yeah, it's not called goto, but it's functionally the same.

lime@feddit.nu · 1 pts · 362d

but very useful!

Gladaed@feddit.org · 7 pts · 363d

Guess they truely are a tool.

grrgyle@slrpnk.net · 5 pts · 362d

I am the tool 😎 wait

maxwells_daemon@lemmy.world · 5 pts · 362d

I was gonna say gcc, but you do you, bro...

NigelFrobisher@aussie.zone · 3 pts · 362d

Leatherman.

catsAndComputers@programming.dev · 0 pts · 363d

Brand new sentence