We need all the help we can get in this cyber warfare future we’re hurdling towards.

  • astronaut_sloth@mander.xyz
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 days ago

    I have some experience coding (I study AI and have a Computer Science background). Here are some general recommendations from my perspective that you are more than welcome to disagree with.

    1. Know your goal. Each programming language is a tool, and each has its strengths and weaknesses. Get familiar with what those strengths and weaknesses are before starting a project in a language. You might shoot yourself in the foot prematurely by picking a language less suitable for the task.

    2. Use what you’re comfortable with. There are nerd fights all the time about different languages. Don’t just choose a language because it’s popular or niche. Sometimes you want to use a lesser known language. Other times a “normie” language is perfectly acceptable.

    3. The computer is dumb. It will do exactly what you tell it to do. The most common errors I’ve made are where the computer did what I told it to do but not what I wanted it to do.

    4. In the case of cyber security, technical hacks are harder to accomplish than something like social engineering. If you’re a beginner, trying to find a zero day is going to be nigh impossible. Keep achievable goals.

    5. If you haven’t programmed before and you don’t know what language to start with, I’d recommend C, especially if you really want to learn. The language itself is simple (but semi-difficult) and runs fast. You’ll learn the real fundamentals and build good habits. From there, I’d jump to C++ and C# or Java. Then learn Python and Rust.

    6. If you’re not super keen on learning programming in general and just want to write things to automate “boring stuff” or bots, in other words “little projects,” learn Python. It’s probably the easiest to learn, and you can start making usable scripts very fast. Python runs slower than other languages, and it’s not guaranteed to run everywhere based on versions or just not having it installed. In general, it’s a great place to start if where you want to end is simple automation for yourself.

    Those are really just my opinions; plenty of people disagree with me on what your first language should be. Feel free to reach out if you have questions or need help in learning.