@sjw @crunklord420@pernia odd question for you guys do any of you know any good coders on here that code in java¿ I've only seen people say they dont like it that know any coding but i know its popular
@Soy_Magnus@pernia@caekislove I'm not going to discourage a non-programmer from learning any programming language but I fear it would force you to learn useless things (like setting up a Java dev environment) and teach you bad habits (OOP, Garbage Collection). Java is not the "easiest" (high abstraction) language to learn, and it's not a fundamental language to learn.
I don't know Java, but I can read and write it because it's not that different from C/C++/C#/Golang because it all inherits from C.
Anyways, just learn C. It will unironically be easier than learning all the OOP shit they'll shove into your brain. I speak from personal experience. When I was very young I bought a C++ book and it stunted my desire to learn programming for years. Why? Because it didn't start from fundamentals, it just immediately jumped into OOP ideology. I should have just bought a C book, or a C-style C++ book.
@crunklord420@pernia@caekislove i picked up a book from GoodWill about java and problem solving cause its a full programing overview and i figured itd be a good one to explaine the general process of programming. Do you think it would be a wise move to learn it¿ it sounds like i could easily find a nice paying job without a proffessional certificate so that's def a bonus
@Soy_Magnus@pernia there's tons of Java jobs because it's a 90s corpo-lang that was adopted by the largest institutions. They wanted wanted to turn programmers into encapsulated OOP cogs. Java also has garbage collection to "solve" "the billion dollar mistake". So instead of programmers fixing bugs they just write a script to restart Tomcat whenever their back-end crashes due to Out of Memory errors.
Your average Java programmer is an H1B Indian with diplo-mill degrees.
@crunklord420@pernia i see. The pay grade for java coders seemed pretty fair when i looked up some info about it, is it one of those things people hate doing so much that they pay well enough to attract the talent¿
@Soy_Magnus@crunklord420@pernia@caekislove My take is that bitching about OOP as being a "bad habit" and trying to convince everybody to write everything in C is what happens when you start overdosing on your own Asperger's.
@crunklord420@pernia@Soy_Magnus@caekislove "clean code" is another meme. Most of the programs actually worth using are full of dog shit spaghetti code. People who write about coding practices and "patterns" and whatever else usually end up getting blown the fuck out by 12yos writing 500 line if elseif chains because those 12yos are coding to accomplish something and people writing about "patterns" etc don't code at all
@NEETzsche@pernia@Soy_Magnus@caekislove in retrospect it's insane how everyone just accepted OOP as this great thing despite it not being that great at all. It must have been a top-down corpo thing saying it'll make it easier to compartmentalize programmers or something.
@NEETzsche@Soy_Magnus@crunklord420@pernia Well he said he wanted to possibly do programming as a profession, and companies expect you to grok OOP even if it sucks and you don't use it by choice, which is why I didn't want to discourage him.
@caekislove That's the thing, I don't think OOP actually sucks that bad. I'm not obsessed with it or anything, but the bitching seems to come primarily from people who are less concerned with if you write code that works than they are with if you write code that conforms to what amounts to a style guide. These are the kinds of people who use linters
@Soy_Magnus The main reason to learn C is because it's the lingua franca of programming, which is to say, once you learn it you learn most other languages, not because it's actually productive for most projects.
@caekislove@crunklord420@pernia@NEETzsche thank you for these insights. Im working through it rn im only in the first few pages but im reading a bunch of books rn so itll probably take me about 6 months before I start finishing them i try reading at least a few pages a day so i can reflect on the material out of a few of the books
@NEETzsche@pernia@Soy_Magnus@caekislove CyberChud is written in C with only a subset of the standard library. The only feature I kinda felt would have been nice was compile-time metaprogramming specifically so I could extra-optimize my fragment shader, and I worked around that with pre-processor flags.
@NEETzsche@crunklord420@pernia@caekislove ill keep my eye out they have a BUNCH of books about programmjng thatre cycling rn so its only a matter of time before i fibd something in c
I’m not ideologically opposed to C. I wrote a simple vector database in C so that I could make it crunch through OpenAI embeddings really fast. High level scripting languages like Python and Ruby just don’t cut it.
But then recently I also wrote this thing that takes CofD/WoD character sheets in a particular JSON schema and dumps out ANSI art sheets. I also wrote a script that goes through the process of chargen in this game by hitting the OpenAI API to make choices; the script prepares the legal range of options for the AI to choose from, and asks it to do so based on what the character sheet looks like so far. I wrote both of these scripts in Ruby, since what I’m doing isn’t number crunching, and is by and large really just string manipulation and hitting an API.
My point is not “use OOP, it is the best, cleave to the OOP.” My point is “don’t be an ideologue, choose the right tool for the job.”
It’s for a TTRPG. TTRPG chargen tends to be pretty elaborate and complicated, so writing a script that asks an LLM questions like, “You are a crooked undercover detective. What is your preferred Skill: Streetwise, Brawl, or Crafts?” Makes that process easier. It should have the sense to respond “Streetwise.”
Only difference is, my script goes through each step one by one, and modifies the submitted possible answers based on past choices, while also providing the entire character sheet (so far in the process) as context clues.
It makes surprisingly good choices, including the freeform parts where you make shit up whole cloth. But you have to go through the trouble of breaking it down into steps, and spelling out what is and isn’t a legal choice.
@NEETzsche@crunklord420@pernia@caekislove i know those things are crazy ive seen some insane breakdowns of choice trees of games seth tzeentack plays that shits crazy sometimes
@Soy_Magnus@pernia@caekislove@NEETzsche invest in an eReader, used if you have to. Paper books are basically just trash that accumulate until you move and realize you don't want to transport it.
@NEETzsche@crunklord420@pernia@caekislove there wego it was $8 but the origibal price was 59.80. This may be more what i walooking for ill shelf the other one for now
@Soy_Magnus@crunklord420@pernia@NEETzsche I made a BBS game using Pascal when I was a teenager, but unfortunately my knowledge of Pascal ended up in the same place as my high school German. 😂
@Soy_Magnus@pernia@caekislove@NEETzsche I bought off a local classifieds site and met in person for cash (no tax). If you're in the US Amazon sells them as "renewed" for under $200.
@crunklord420@pernia@caekislove@NEETzsche i love those things but atm i have to conserve energy as i live in a van and do t have a place to charge at. Id like to get a good quality cheap computer maybe from a pawn shop or newegg. Atm im using non electric means and not sure how long it will be like that but at leastte foreseeable future
@Soy_Magnus@pernia@caekislove@NEETzsche Offices are liquidating their fleets of Lenovo T480's at this moment so you can buy one for like $200 used. I did the same thing years back and picked up a T440p. They're not lightweight, but they're durable and cheap.
...because of this, passing text into a function, or back from a function, in #C, is a lot more trouble than it’s worth. It’s the sort of #interview question you use to #gaslight prospects who think they’re hot shots.
But in the dark ages, there was no other way to get text information into or out of a function.
File names and file paths. Host names. Usernames and password. Context of a text file. Command line arguments.
@Soy_Magnus@ec670@crunklord420 Yes it is a built in feature of the programming language where you don't have to think about memory management at the expense of usually unnoticeable slower performance and sometime cripplingly slower performance.
Well-written code doesn't need it, but the world runs on poorly-written code, so it is what it is.
@ec670@caekislove@crunklord420 im lear ing coding stuff right now and i just realizedu meant an industry term by "garbage collection" i thought u were just being a booger lol. Wht fo you mean by it i heard someone else refer to it in a video
@Soy_Magnus@crunklord420@pernia Java was designed to accommodate crappy programmers (Indians), so that's like asking "know any artists specializing in crayons?" Sure they probably exist but it's hard to see past the medium. The day Oracle started charging for Java was a happy day for me because I threw out my copy of Java: The Complete Reference, confident that I would never again be asked to write something in that terrible language.
@kirby@crunklord420@pernia oh and i was kidding ibknow youd love me as a user i was avtually voted thw number one favorite user of 82% of admins on the fedi. Why are you recruiting tho do you just want more fun¿
@pernia@crunklord420@caekislove@NEETzsche thats so sad my dick is litterally soft now. I was kinda thinking that was gonna happen but from wht i hear is its an amazing language to learn how to code with, and it was used peimarily as a teaching tool more than a coding language so as long as it can do that ill be happy with it :blob_bat:
Logical programming is when you give the computer a list of constraints and it produces something that fits within the confines of those constraints. I can’t think of a single project actually worth using that uses the logical programming paradigm. It’s strictly, purely, a meme paradigm.
That’s exactly right. It just doesn’t make sense to write a real application with it. It’s a meme, like I said. Really, the king of programming paradigms is and will remain imperative programming, because the real world is full of statefulness, and also, it’s how instructions to the computer actually work as you get closer to the metal.
Functional programming has its place, most notably aggregate functions, but it’ll always be fun to dunk on spergs who insist that it’s OBJECTIVELY superior.
@NEETzsche@crunklord420@pernia@caekislove ¿ well if thats the case youd have to have extrenely tight tolerances to produce anything similar to an jntended outcome wouldnt you¿ other wise the variables and random combinations would be near infinite
Well, logical programming was associated with AI, but modern implementations of training etc don’t use logical programming at all last I checked. It’s all CUDA and shit now. It’s all imperative.
@NEETzsche@crunklord420@pernia@caekislove i suppose the obly real world application i could see that having value in would be in something similar to ai random generatikn models where the purpose is to come up with something zaney and out of context in a unique way
@NEETzsche@crunklord420@pernia@caekislove i wonder if the variables were too out of control to complete the task appropriately i could see it being dropped for thst reason if you wanted finer tuned results
The real reason it is dropped is because when training models it’s all about crunching numbers. The underlying transformation algorithms aren’t that hard to comprehend, but being able to go through iterations faster adds up quickly. I could implement these algorithms to be correct, but could I implement them fast compared to someone who really knows the domain and has spent years tinkering with pointer tricks in C? Probably not. Not overnight, at least. I’d probably have to spend years, just like them, learning all about this shit.
And that’s before we even bring up TPUs and ASICs.
tldr I wrote in C when I needed to crunch numbers (running the cosine similarity function over and over in short succession) and then I also wrote in high level scripting languages like Ruby when I need to hit APIs and do string manipulation. Use the right tool for the job. Do not be a language ideologue.
But even so, the main (but not only) reason to learn C is as the lingua franca of programming, the imperative language that makes it easy to learn all other imperative languages.