• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics with the tag "programming". Back to normal view
    1. Should C be mandatory learning for career developers?

      The year is 2025. The C programming language is something like 50 years old now - a dinosaur within the fast-moving environment of software development. Dozens of new languages have cropped up...

      The year is 2025. The C programming language is something like 50 years old now - a dinosaur within the fast-moving environment of software development. Dozens of new languages have cropped up through the years, with languages like Rust and Go as prime contenders for systems-level programming. Bootstrapping a project in C these days will often raise eyebrows or encourage people to dismiss you out of hand. Personally, I've barely touched the language since I graduated.

      Now, with all that said: I still consider learning and understanding C to be key for having an integrated, in-depth understanding of how computers and programming really works. When I am getting a project up and running, I frequently end up running commands like "sudo apt install libopenssl-dev" without really giving it much thought about what's going on there. I know that it pulls some libraries onto my computer so that another program can use them, but without the requisite experience of building and compiliing a library then it's kind of difficult to understand what it's all about. I know that other languages will introduce this concept, but realistically everything is built to bind to C libraries.

      System libraries are only one instance of my argument though. To take a more general view, I would say that learning C helps you better understand computers and programming. It might be a pain to consider stuff like memory allocation and pointers on a regular basis, but I also think that not understanding these subjects can open up avenues for a poorly formed understanding about how computers work. Adding new layers of abstraction does not make the foundation less relevant, and I think that learning C is the best avenue toward an in-depth understanding of how computers actually work. This sort of baseline understanding, even if the language isn't used on a regular basis, goes a long way to improving one's skills as a developer. It also gives people the skills to apply their skills in a wide variety of contexts.

      I'm no expert, though: most of the programming I do is very high-level and abstracted from the machine (Python, Haskell, BASH). I'm sure there are plenty of folks here who are better qualified to chime in, so what do you think?

      38 votes
    2. How do you manage separate development environments on your computer?

      Hello Tildes! There's an open-source app I would like to work on and contribute code to, but it uses a toolchain that I'm not terribly familiar with (Deno), and I'm not a huge fan of letting tools...

      Hello Tildes!

      There's an open-source app I would like to work on and contribute code to, but it uses a toolchain that I'm not terribly familiar with (Deno), and I'm not a huge fan of letting tools like this have full access to my system and files.

      Do any of you use a system to containerize different development environments for software development? I could definitely use a standard Docker/Podman container to run the app, but I'm not aware of a good system where you can edit a program's source in an IDE, make changes, build the app, open a local port, and save your new code, all within a sandboxed environment.

      If anyone uses a system like this or something related, I would love to hear about it and share ideas.

      13 votes
    3. If you're a programmer, are you ever going to believe an AGI is actually 'I'?

      First, I am emphatically not talking about LLMs. Just a shower thought kinda question. For most people, the primary issue is anthropomorphizing too much. But I think programmers see it...

      First, I am emphatically not talking about LLMs.

      Just a shower thought kinda question. For most people, the primary issue is anthropomorphizing too much. But I think programmers see it differently.

      Let's say someone comes up with something that seems to walk and talk like a self-aware, sentient, AGI duck. It has a "memories" db, it learns and adapts, it seems to understand cause and effect, actions and consequences, truth v falsehood, it passes Turing tests like they're tic-tac-toe, it recognizes itself in the mirror, yada.

      But as a developer, you can "look behind the curtain" and see exactly how it works. (For argument's sake, let's say it's a FOSS duck, so you can actually look at the source code.)

      Does it ever "feel" like a real, sentient being? Does it ever pass your litmus test?

      For me, I think the answer is, "yes, eventually" ... but only looong after other people are having relationships with them, getting married, voting for them, etc.

      31 votes
    4. "Enterprise Network Security With C and XML in 30 Seconds for the Brain Dead" (c. 1997-2013)

      Who is this book for? For almost anyone who is afraid of viruses, trojans, greeks, or lefthanded satanistic poodle pruners who want your data. For those cipherpunks who know that The Man is out to...

      Who is this book for?

      For almost anyone who is afraid of viruses, trojans, greeks, or lefthanded satanistic poodle pruners who want your data. For those cipherpunks who know that The Man is out to get 'em. For those who realize that masking their identity when they buy dog food online is imperative to democracy and freedom as we know it.

      Now, the author recognizes that people vary in skills. Consequently, the steps increase in skill level as they progress. The skill level is neatly placed in the margin next to each step.

      [BEGINNER] Step 1. Turn off your computer

      If you don't know how to do this, you can yank out the power plug from the wall. If you don't know how to do this, just stop paying your electric bills. NOTE: If you take this latter approach, this will take longer than 30 seconds.

      Once the computer is off, you're 80% of the way there. The computer is secure from all but the most insidious of blackbag attacks. Anything beyond this step requires an advanced knowledge of computers. (And some biceps. Eat your wheaties!)

      [ADVANCED] Step 2. Smash monitor, case, hard drive, ethernet cable and (why not?) mouse with C and XML 1000-page doorstops, er, textbooks.

      Now the computer is completely secure from all attacks.

      [GURU] Step 3. Go outside, away from computers. Become a lumberjack or something.

      Why are you still reading this? You're supposed to be outside. Some guru you are. Can't even read.

      Found this while browsing through the first ever wiki hosting the "WikiWikiWeb" over at C2. As the site and content changes, I am submitting this as a text post. Community is still around, and it has an excellent layout and its just full of very funny and old school (and informative!) things. The site comes to mind on occasion and I just get lost browsing and seeing the amount of information hidden within those pages. I might finally get around to working on a spiritual project.

      9 votes
    5. What was your first programming language, what languages do you know now, and what tips do you have for those trying to learn any of those?

      What was your first programming language, what other languages (if any) do you know now, and what tips do you have for those trying to learn any of those? Whether those tips are for beginners or...

      What was your first programming language, what other languages (if any) do you know now, and what tips do you have for those trying to learn any of those? Whether those tips are for beginners or even advanced, to do with APIs, or if you've got a good library to share.

      53 votes
    6. How does one get started programming an Android app?

      It's been a long time since I've done any "serious" programming, but I have long held a desire to recreate an app that's been out of development for a decade, and I reckon I'd do fine if given the...

      It's been a long time since I've done any "serious" programming, but I have long held a desire to recreate an app that's been out of development for a decade, and I reckon I'd do fine if given the right direction.

      My "qualifications". I've done "school project" level stuff in *many* different languages (VB6, Python, Java, C++, C#, PHP, Lisp, Prolog, R, to name a few) so I know my language-agnostic basics, and I've made a career out of quickly learning new tools and platforms and maintaining other people's work. The problem is all that experience is either "give a plain text file the right file extension" or building the project via a proprietary IDE, so getting started from scratch I'm totally lost. What IDE? What language? How does the .apk happen?

      Googling for this gives me either "no code" platforms, which is zero of the fun and basically what I do at work, or documentation that has skipped the first ten steps because it assumes you know the prerequisites already. Help?

      20 votes
    7. How hard would it be to learn to code a Discord bot?

      I've got a notion to put some of my extra energy into learning to code. I'm familiar with EXTREME basics - I did some coding in BASIC and Python when I was younger ("Hello world" type stuff, and...

      I've got a notion to put some of my extra energy into learning to code. I'm familiar with EXTREME basics - I did some coding in BASIC and Python when I was younger ("Hello world" type stuff, and some futzing around with my Ti calculators programming capabilities) and while I had a pretty good knack for it I never developed it further.

      I'd like to use this as a chance to create something useful for me - a discord bot for my server. We have a handful of bots doing a few odds and ends, and I'd like to try and work something out to consolidate things. That's getting a bit ahead of myself though - initial scope would be simple: have the bot do a simple task like counting +rep points, or something silly like telling a joke.

      I don't really have any idea of where to start - what resources I need, what language to use, or really anything about how this all works. Any assistance at all would be welcome!


      To be clear - I want to learn to code, and specifically I want to learn in a way where it is immediately applicable and useful in a context I care about.

      20 votes
    8. Have you made a video game? Can I play it?

      I've had some ideas for a game simmering for a while now and I've finally committed to learning Godot to see what I can put together. I'm still in need of some inspiration, though, and I know...

      I've had some ideas for a game simmering for a while now and I've finally committed to learning Godot to see what I can put together. I'm still in need of some inspiration, though, and I know there's a few folks around here who have made games. Complete, polished, sketchy, half-baked - doesn't matter! - I'd love to see what people here have come up with!

      49 votes
    9. Funny output from Claude.ai: a codeblock in a question about an early rennaissance theological work

      I asked Claude for references to some ideas the ai had output earlier about a 16th century cardinal (Sadoleto). It's response was, Let me analyze the letter, and then this: async function...

      I asked Claude for references to some ideas the ai had output earlier about a 16th century cardinal (Sadoleto). It's response was, Let me analyze the letter, and then this:

      async function searchForSadoletoLetter() {
        try {
          const files = ['sadoleto_letter.txt', 'sadoleto.txt', 'sadoleto_to_geneva.txt', 'letter_to_geneva.txt'];
          
          for (const filename of files) {
            try {
              const content = await window.fs.readFile(filename, { encoding: 'utf8' });
              console.log(`Found file: ${filename}`);
              console.log("First 500 characters:");
              console.log(content.substring(0, 500));
              return content;
            } catch (err) {
              // File not found, try the next one
            }
          }
          console.log("Could not find any files containing Sadoleto's letter");
          return null;
        } catch (err) {
          console.error("Error searching for files:", err);
          return null;
        }
      }
      
      const content = await searchForSadoletoLetter();
      
      // Since we don't have the letter available as a file, let's search for published versions online
      console.log("The letter isn't available as a file. We would need to rely on scholarly knowledge about Sadoleto's letter to Geneva (1539).");
      console.log("Sadoleto's letter was published in 'A Reformation Debate: Sadoleto's Letter to the Genevans and Calvin's Reply' (ed. John C. Olin).");
      

      This strikes me as odd? Did Claude write a script to generate its own response? Have coders put something like this in as a gaurdrail?

      edit: details about earlier convo

      15 votes