What is the very first thing for an old fart like me to learn so I can dabble in programming?
2 10 Jun 2017 18:43 by u/MustaphaMonde
I once was on my way to a MCs but had to stop school- got a single class in- Pascal no less! So where can I start to dabble where I can actually get some real results and feel like I'm actually learning and accomplishing something? Self-teaching can be a reward but it can also be like learning in a vacuum- any recommendations please?
19 comments
4 u/kamtsa 10 Jun 2017 19:31
I typically learn well when I have a specific goal, build X, or write a program that does Y. First it's motivating and second it forces you do deal with real life problems and not just skim around less interesting parts that are actually important.
Pick a program that you would like to write. Make sure it's not too complex but still useful or interesting. It can be command line based (e.g. you type stuff in or get print outs), graphical or even mobile (e.g. android). For example, a 4 operation calculator.
BTW, Pascal is a great language but not as popular this days, but there are many other languages that you can find for free on the internet, including nice IDEs that make things easier.
If you are open for other forms of programming, I highly recommend OpenScad. It's a simple language that allow you to construct 3D objects and if you have a 3D printer (you can find cheap ones) you can actually print it.
3 u/nobslob 10 Jun 2017 19:39
What are you interested in making? If you are on linux you can make little shell scripts that accomplish a lot and can be chained together for even more complex behavior.
If you are interested in making web pages you can start playing around with javascript and html. It's easy to start, lots of tools and guides to use, and you can see output right away. Use http://jsbin.com or something like codepen to try out code very quickly. I like these tools because you can include js libraries like jquery or angular with 1 click, no complicated setup just to start.
Are you wanting to make games, start some C or C++ tutorials. Are you intersted in home electronics projects? Learn about embedded systems, and get something like an arduino and learn the language to program it.
So many options for programming these days.
0 u/PhilaFerret 10 Jun 2017 20:28
I have a 2015 Macbook I use to go on Voat, little else. What's an idea or two to make better use of it? I take pictures, no gaming exp. but interested in programming. I took a very basic class for drawing and animation on Khan Acad. and enjoyed it.
2 u/Kill-Commies 10 Jun 2017 19:34
Find a way to weaponize whatever you do against islam.
1 u/yhsvghnrOruGnpverzN 10 Jun 2017 19:28
Don't believe people who tell you you're using the wrong language. Programming languages are something people fight over now, like football and religion.
I recommend you download GNU Emacs and begin with Emacs Lisp. You can get a handle on the language in less than a day, and learn enough of its libraries to customize Emacs to your liking in under a week.
At that point you'll have a programmers text editor configured to your liking and you'll have a handle on fundamental programming concepts which apply to any language. You'll also have formed some opinions on Lisp, and whether you'd like to continue with it or switch to something else.
0 u/VIP740 10 Jun 2017 18:58
What kind of interest do you have? What would you want your programs to do? What platform do you want to work with? I'm not familiar with Pascal; it's been largely replaced with C right?
0 u/AnthraxAlex 10 Jun 2017 19:34
Start with an oo language java or c#. You'll learn the basics of abstraction, composition and strict inheritance there along with how to define interfaces one of the most important concepts in programming. Then you can move on to the unstructured dynamic languages.
0 u/Norm 10 Jun 2017 22:49
That sounds awful, are you trying to drive him away from programming? Object oriented is the most retarded shit pushed by universities. Some object oriented is fine but when you try to force everything into it ( java c#) it just becomes moronic.
1 u/AnthraxAlex 10 Jun 2017 23:01
If you dont understand the basics all your code will be a pile of shit to work on regardless of what language you write it in. Programmers that cant build a maintainable piece of software are a dime a dozen mostly people who only learned "functional" programming. You can spot them quickly because there code is an amorphous blob of repeated code lacking any structure. They couldn't define a domain boundary and form an interface for abstraction to save their life. Once the goal of their code becomes more than trivial the ability for anyone to come through and refactor or add features is entirely determined by how quickly they can convince management to throw it in the garbage re collect requirements and break it up into a properly structured and layered set of libraries each with their own set of responsibilities and composed behavior.
0 u/Crashmarik 10 Jun 2017 21:21
Embarcadero has a Delphi starter package for free. It will let you build on what you know from pascal.
After that try to think of something simple you would like to have, detail it out and start having fun.
0 u/o0shad0o 10 Jun 2017 22:46
I'd recommend Python as a good language to dabble with; Python is interpreted but very powerful, and a number of practical projects have been written in that language.
One way to teach yourself is to examine open-source programs that do things you're interested in, and alter their behavior. You may want to find out what programs you're currently using are open source and think about how you'd want to improve them.
All that having been said, basic programming is pretty basic, but real computer science is a branch of mathematics. To be a good programmer you need to have a good grounding in math up through algebra at least and trig for a lot of it. You'll also need to study some general techniques programmers use; pick up some books on data structures and algorithms.
0 u/Norm 10 Jun 2017 22:52
Python is a decent place to start. Its fairly easy to learn and you can feel like you are getting something done fairly easily.
0 u/SwiftLion 10 Jun 2017 23:32
You might consider getting a Cozmo. It's a small robot that has an active development community and a really vibrant and approachable SDK.
The scripting language it uses is Python, which is a popular starting language and is also used for lots of real things.
I know it involves buying a product, but on the flip side, you get to see your software operating a real live robot even with a few-line example. The SDK offers very high level functions, but mid- and low-level ones too. If you wanted to dive "deep enough", you could even pipe the raw data from all Cozmo's sensors into an app on the desktop and get really crazy with it.
0 u/SwiftLion 10 Jun 2017 23:37
You also might consider getting Xcode and learning Swift with Playgrounds. They build-and-run as you type, which is very flexible and easy to use. There are WWDC videos out that show you how to develop and inspect an algorithm using playgrounds, before you place it in your production code.
Playgrounds also allow apple's sample code in their e-books to be live and editable, which makes them a fun read.
Swift is a modern language that offers some FP styled concepts and a modern object oriented system, and the toolchains are available for at least linux and mac, but I think for windows too. So, Swift is a good language to pick up to get to grips with modern architectures.
0 u/Sosacms 11 Jun 2017 01:10
Algorithms and finding a personal task/use. I also started with Karl the Robot. Simple commands to navigate complex scenarios. Algorithms help teach how to break up large problems into small steps. That's a really helpful skill. Too many try to program too much all at once instant of one tiny part, make sure it works, then move onto the next tiny part. That way, when it comes back with errors you know exactly what part isn't working instead of hunting for hours.
0 u/curiouserdude 11 Jun 2017 04:39
If you're just starting out, learning javascript via Khan Academy is a good way to go: https://www.khanacademy.org/computing/computer-programming . Javascript is always useful to know because it's the number one programming language in the world. Python is a better language for backend development and object-oriented programming but once you learn one language it becomes easier to learn other languages.
0 u/mama_shoe_maunda 12 Jun 2017 05:34
intro to programming at mitx. the lang used is python and they go over the basics.
0 u/Genr8r 13 Jun 2017 07:00
Building small web pages is a great way to see some quick results from your efforts. A few lines of a code in a text editor saved in an HTML file and a web browser to review the results are all that's needed. https://www.codecademy.com/ provides really nice free tutorials and https://www.w3schools.com/ is a great reference.
0 u/TelescopiumHerscheli 17 Jun 2017 21:37
If you have Microsoft Office you probably have a version of Visual Basic already available to you. I'd suggest starting by learning how to write functions and macros in Excel. You'll find this particularly easy if you start by learning how to record macros, as you can then inspect the code afterwards. There's also a great deal of satisfaction in writing your first function in Excel. Drop me a line if you want to know more (though my response time may be slow, as I don't log on here much). Good luck.