Technology Programming Thread

Technical Related Threads

cjöcker

Remarkable Onion
I'm going to make a programming thread as there isn't one at the moment.

If you don't program and want to get into it, I recommend reading The C Programming Language, it's quite dated and you probably won't be using C any time in the near future because most companies don't use it anymore but it gives you good introduction to programming concepts.

Personally, I've been writing Kotlin as of late. I don't really like Java that much and I think that Kotlin is an excellent extension over Java. It still has its quirks but I like it a lot more than Java.
 

SIGSEGV

Segmentation fault (core dumped)
An Onion Among Onions
>If you don't program and want to get into it, I recommend reading The C Programming Language
Based, C is an excellent first language and it baffles me that it's not recommended for beginners very often. Having to make all of the data structures yourself will teach you how they actually work, so when you move up to a language with those data structures provided in the standard library you'll be able to choose the best one for the job.
 

wtfeasymode

this game sucks
Remarkable Onion
I've been looking at C (specifically C-- and C++) for a while considering how many things I've enjoyed were coded in it. The only thing that keeps me hesitant is whether I should spend hard earned cash on classes and books for it or not. Other than that I'm also interested in Python, Javascript, and Ruby.
 
Last edited:

cjöcker

Remarkable Onion
>If you don't program and want to get into it, I recommend reading The C Programming Language
Based, C is an excellent first language and it baffles me that it's not recommended for beginners very often. Having to make all of the data structures yourself will teach you how they actually work, so when you move up to a language with those data structures provided in the standard library you'll be able to choose the best one for the job.
Yeah, I remember when first doing programming I was using stuff like Python amongst other high level languages and I had no idea how anything fucking worked under the hood, to me it was just magic, which it is. I didn't know shit about memory or anything that any good programmer needs to know about to make good applications. After reading The C Programming Language I learnt a fuckton and I actually understood what the computer was doing (kind of, I don't understand what the fuck the STL is doing under the hood or what instructions GCC compiles my C code to but I've just come to the conclusion that those are the kinds of magic that you have to accept). Many people being taught programming don't understand basic programming concepts or what the fuck their code even does for that matter and I feel like it's going to drastically decrease the quality of your average programmer. Also, to anyone reading who wants to do game development, don't use Unreal Engine or Unity. You're programming your game in a way that some asshole thinks you should do it rather than what suits you. Unity and Unreal are great tools, don't get me wrong however you will NEVER UNDERSTAND WHAT THE FUCK YOUR CODE DOES, EVER.
 

Need For Sneed

I feel the need
Hellovan Onion
>If you don't program and want to get into it, I recommend reading The C Programming Language
Based, C is an excellent first language and it baffles me that it's not recommended for beginners very often. Having to make all of the data structures yourself will teach you how they actually work, so when you move up to a language with those data structures provided in the standard library you'll be able to choose the best one for the job.
I'm old enough to remember when C was recommended to virtually everybody as their first "real" programming language (BASIC didn't count, apparently). ngl I'm a bit of a dumb cunt, so I gave up trying to learn C fairly early on. Ended up learning Pascal instead, though I've forgotten most of it. Oddly enough the only thing programming shit I remember from school is pseudocode.

If you can do it, C/C++ is a great skill to have by all accounts (I wish I had it). These days, it's easier to spend time on it because there are free compilers/IDEs out there. No more having to spend hundreds of dollars on a compiler or spending all one's spare time in a computer lab trying to fight for a machine with Turbo C++ installed on it.
 

cjöcker

Remarkable Onion
I'm starting to get to the point in my life where I need to decide if I'm pursuing tertiary education before getting a job and such and I feel extremely pressured to get a programming/comp sci/programming related degree but I can't help but feel that spending multiple years churning through boring shit while stocking up on debt to get a piece of paper saying I can do printf("hello world\n") in spite of the fact that I already know that I can. I imagine that people who do programming for a living might be in this thread, so is a programming degree worth the fuss?
 

nil

Baby Onion
I remember taking a C++ and learning about the 'friend' operator and realizing that I could never take this language seriously.

C seems cool though, if you use correctly. Will probably work that after Go and Python.
 

A Weddell Seal

Patron Saint of Orca Whalers
Registered
@cjöcker I would say that a good portfolio is more important than anything; going up to an employer with a degree does not mean anything in regards to programming since all schools teach it differently, so the degree itself does not necessarily show you know what they want you to know. Read the description of the job you are applying to and create your portfolio based on that. A degree might be a nice supplement depending on what you have (ex: a degree in mathematics) and what job you are applying to, but overall I think you can get a good job just fine with only a quality portfolio.
 
Last edited:

Saltimbanco

unhinged lunatic
Hellovan Onion
I would rather kill myself than to code yet here we are. I'm more than considering it for all the avenues of opportunity it opens. I've always preferred to do me learning from books. Aside from cjöcker's recommendation what else would you say is an essential place to begin when building foundational knowledge?
 

Azusa

Remarkable Onion
I imagine that people who do programming for a living might be in this thread, so is a programming degree worth the fuss?
I'm inclined to agree with @A Weddell Seal and say that a portfolio of projects that you can show off is more important. For the sake of full disclosure, I'll admit that everyone I've met IRL who programs in any professional capacity (including yours truly) has at least an undergrad STEM degree, but my network is probably a biased sample in that regard.
 

Need For Sneed

I feel the need
Hellovan Onion
I'm starting to get to the point in my life where I need to decide if I'm pursuing tertiary education before getting a job and such and I feel extremely pressured to get a programming/comp sci/programming related degree but I can't help but feel that spending multiple years churning through boring shit while stocking up on debt to get a piece of paper saying I can do printf("hello world\n") in spite of the fact that I already know that I can. I imagine that people who do programming for a living might be in this thread, so is a programming degree worth the fuss?
A fellow Ausfag, I see.

Traditionally, Aussies tended to give less of a shit about the piece of paper you've got and more of a shit about what you've actually done. That said, a combination of Britbong backpackers in the recruitment game and pajeets with a hard-on for getting their MBA have kinda pozzed the recruitment process over here.

Put together a portfolio and set up a decent website, along with a LinkedIn. Sure, you'll get harassed by said backpackers who'll drop you when they realise you're not a streetshitter who'll work for less money than a shelf-stacker at Coles... but you'd be surprised at how many actual True and Honest Aussie business owners use LinkedIn, who probably don't want to give some rat-faced twat in a Tarocash suit a $25k finders fee just for the privilege of hiring someone to write some half-decent code.
 

Mario

Mamamia
Hellovan Onion
I'm trying to get into web development specifically the back end of web development. I started learning Python but I'm not sure if I should continue or stop start on to C since you guys are saying learning it gives you better insight into what is going on. My instincts are telling me to continue with python since it seems popular and I already started learning it but I'm not really that big on tech so I wanted to ask for suggestion.
 

SIGSEGV

Segmentation fault (core dumped)
An Onion Among Onions
I'm trying to get into web development specifically the back end of web development. I started learning Python but I'm not sure if I should continue or stop start on to C since you guys are saying learning it gives you better insight into what is going on. My instincts are telling me to continue with python since it seems popular and I already started learning it but I'm not really that big on tech so I wanted to ask for suggestion.
You could always just learn both languages, you know.
 

SIGSEGV

Segmentation fault (core dumped)
An Onion Among Onions
The C++ library that I created at work needs to validate US state abbreviations (US and DC are also accepted). A sane person would do this with a very long regular expression. I am not a sane person.
C++:
bool utils::validate_state_abbrev(const std::string_view str) noexcept{
    if(str.length() != 2) //check for correct string length first
        return false;

    switch(str[0]){
        case 'A':
        case 'a':
            switch(str[1]){
                case 'K':
                case 'k':
                case 'L':
                case 'l':
                case 'R':
                case 'r':
                case 'Z':
                case 'z':
                    return true;
            }
            break;
        case 'C':
        case 'c':
            switch(str[1]){
                case 'A':
                case 'a':
                case 'O':
                case 'o':
                case 'T':
                case 't':
                    return true;
            }
            break;
        case 'D':
        case 'd':
            switch(str[1]){
                case 'C':
                case 'c':
                case 'E':
                case 'e':
                    return true;
            }
            break;
        case 'F':
        case 'f':
            switch(str[1]){
                case 'L':
                case 'l':
                    return true;
            }
            break;
        case 'G':
        case 'g':
            switch(str[1]){
                case 'A':
                case 'a':
                    return true;
            }
            break;
        case 'H':
        case 'h':
        case 'R':
        case 'r':
            switch(str[1]){
                case 'I':
                case 'i':
                    return true;
            }
            break;
        case 'I':
        case 'i':
            switch(str[1]){
                case 'A':
                case 'a':
                case 'D':
                case 'd':
                case 'L':
                case 'l':
                case 'N':
                case 'n':
                    return true;
            }
            break;
        case 'K':
        case 'k':
            switch(str[1]){
                case 'S':
                case 's':
                case 'Y':
                case 'y':
                    return true;
            }
            break;
        case 'L':
        case 'l':
        case 'P':
        case 'p':
            switch(str[1]){
                case 'A':
                case 'a':
                    return true;
            }
            break;
        case 'M':
        case 'm':
            switch(str[1]){
                case 'A':
                case 'a':
                case 'D':
                case 'd':
                case 'E':
                case 'e':
                case 'I':
                case 'i':
                case 'N':
                case 'n':
                case 'O':
                case 'o':
                case 'S':
                case 's':
                case 'T':
                case 't':
                    return true;
            }
            break;
        case 'N':
        case 'n':
            switch(str[1]){
                case 'C':
                case 'c':
                case 'D':
                case 'd':
                case 'E':
                case 'e':
                case 'H':
                case 'h':
                case 'J':
                case 'j':
                case 'M':
                case 'm':
                case 'V':
                case 'v':
                case 'Y':
                case 'y':
                    return true;
            }
            break;
        case 'O':
        case 'o':
            switch(str[1]){
                case 'H':
                case 'h':
                case 'K':
                case 'k':
                case 'R':
                case 'r':
                    return true;
            }
            break;
        case 'S':
        case 's':
            switch(str[1]){
                case 'C':
                case 'c':
                case 'D':
                case 'd':
                    return true;
            }
            break;
        case 'T':
        case 't':
            switch(str[1]){
                case 'N':
                case 'n':
                case 'X':
                case 'x':
                    return true;
            }
            break;
        case 'U':
        case 'u':
            switch(str[1]){
                case 'S':
                case 's':
                case 'T':
                case 't':
                    return true;
            }
            break;
        case 'V':
        case 'v':
            switch(str[1]){
                case 'A':
                case 'a':
                case 'T':
                case 't':
                    return true;
            }
            break;
        case 'W':
        case 'w':
            switch(str[1]){
                case 'A':
                case 'a':
                case 'I':
                case 'i':
                case 'V':
                case 'v':
                case 'Y':
                case 'y':
                    return true;
            }
            break;
    }

    return false;
}
In my defense, I was really bored that day.
 
Top