#Foot_in_the_Door?

12/15/2017 07:12 pmreit#1
I wish to learn how to code, i learned a little bit, back in seventh grade(01') and took CCNA 1&2, passed one, failed two. You know kids in high schools wont hold anything in if they don't listen and use it hahah. it was interesting and i can see myself now learning and using it. one kid i took CCNA with(actually using it in his job) told me to get a ras-pi to start out, so that's on its was here. i also downloaded Microsoft visual studio with a bunch of add-on's. java, python, c, c++... I'm looking for help on how to get back into it. Where to start, programs, training and what-not, any help is awesome, peas and tanks ♥ paywon
12/15/2017 16:11 warfley#2
Well the most important part of programming is practicing and doing some actual programing. So you should take a look what you want to accomplish in the short term. Than you can choose a programing language which supports that and start off with learning it.

The problem is, if the people here tell you "go learn C++" and you start of with doing so, but you have no idea how to apply what you've learned on any real project you are interested in, i guess you will lose your motivation and either stop learning, or just reading theory but never doing anything yourself.

So what are you interested in. Would you like to develop Games or gamehacks or tools (as this is the most common reason for most people on this board to start), are you interested in how computers work internally, are you interested in developing Webservices, do you want do develop Apps for mobile phones or do you want do make small tools that do little tasks (like searching for files on your pc, editing config files, etc.)
For all of these there are programming languages and tools that support your work, but could also hinder you.
12/16/2017 07:04 pmreit#3
eh well my friend does cyber security for a satellite company, and i feel like a noob asking for advice from him. lol. It seems like something i would love to get into, spent ten years in the bottle. Finally figured i need an actual career, and not just a job. when i was in school i told my school net tech i wanted her job lol. well turns out shes making 120... fuck me right, i know basics on setting up networks but i want to get deeper into the programs, how they tick, learn the little stuff and just expand.. plus i started playing seafight again and id love to learn how to make a nice scroller of my own haha.
12/16/2017 18:17 warfley#4
Quote:
Originally Posted by pmreit View Post
eh well my friend does cyber security for a satellite company, and i feel like a noob asking for advice from him. lol. It seems like something i would love to get into, spent ten years in the bottle. Finally figured i need an actual career, and not just a job. when i was in school i told my school net tech i wanted her job lol. well turns out shes making 120... fuck me right, i know basics on setting up networks but i want to get deeper into the programs, how they tick, learn the little stuff and just expand.. plus i started playing seafight again and id love to learn how to make a nice scroller of my own haha.
Well so I get this right, you'd like to learn about how everything works internally.

Well then there are basically 3 Languages i can recomment to you.

1. C. C is an old language that hasn't changed much over the past few years. This language was designed to develop low level applications like operating systems or drivers. This language has no large libraries and so the programmer needs to take care of everything himself. Learning C means to firstly learn about how the Computer processes and stores data, how programms communicate with each other on the operating system level, and how programs interact with the operating system.
But, i would not recomment using C on a Windows System. Also most of the C Code on the Internet is for Linux systems, and won't work for windows. (Also is the Linux architecture better suited for C with fork and execev)

2. C++. This language builds on top of C and is therefore highly compatible with C. It contains nearly all features a programming language can have, and can therefore be pretty confusing. It should be said, only because C++ supports a feature that doesn't mean you should use it. C++ is build to be complete.
Thanks to all the features its not quite a pain in the arse to use compared to C. Also C++ has a big standard library which takes a lot of work off your shoulders. Combined with big thrid party libaries like QT you can also write "meaningful" applications pretty straigh forward, what in C would require you to first take a deep dive into your operating system.
It also lets you stay pretty low level (if you want to, you could also use only high level features), and therefore supports also learning about the inner workings of a Computer
Therefore C++ Applications are better fitted to use on Multiple systems, and C++ is well fitted for both Windows and Linux.

3. Pascal. This language was developed a little bit prior to C, but instead of developing a new Language like C++ this language was expanded and has now many modern features to support high level programming like OOP. It's not that overloaded like C++. It was developed as a learning language for students and is therefore pretty strict to enforce a "good style" of programing. It's somewhere in between C and C++, it's not such a pain in the arse to use like C, but you are defenetly forced to use low level concepts like memory management, what you can completely avoid using some C++ features.
It also has a big standard library and makes, like C++ with QT, development of "meaningful" applications quite easy.
It first was mostly used for Windows, and still has the best support for Windows, but also works fine on Linux or other posix systems (e.g. MacOS).

With knowledge about any of those languages it should be easy to learn any other language you like at a later point. (In fact it is often required to learn a new language in a few days) But these languages focus on a low level point of few, and require you to know how things internally work. It might be a little unfulfillinf if you start of with for example C, and after a few weeks the best you can do is to make some kind of tik tak toe in a console against yourself (Well with C++ and QT or Pascal you can at least do this using fancy graphics :D), but thats the price for learning a low level language

I would also recommend you to getting used to Linux. Especially in networking Posix is the standard, as most routers, switches, middleboxes, etc. run a posix systems (mostly parts of the linux kernel), and Linux is the most acesible of the posix systems (MacOS requires a mac, and BSD is a pain in the arse).

It can be also helpfull to learn about how your Operatingsystem is working, the book "Modern Operating Systems" written by Andrew S. Tanenbaum is pretty good about that stuff.