So you want to learn to program?

Gizametalman

Banned!
Banned
Joined
Dec 18, 2015
Messages
974
Trophies
0
Age
30
Location
D.F. - Zona Cero.
XP
730
Country
Mexico
Howdy!
Years ago, I was interested in Programming, and actually, I WAS learning to code with a software called: "DEV C++", which I remember, it "had" many programming languages in it, so you can choose any you want to code on.
CAN I USE "DEV C++"?
Or do I have to download and install EVERY Coding Software out there? (the ones that I'm interested in, that is)
Like, I wan't to create free software, web pages, mobile games and videogames (GBA, NDS, 3DS, Android, IOS, etc.)
So I'm guessing that I need:
-C#
-C++
-Java
-LUA
-Phyton
-Ruby

I have "DEV C++", can I learn all those languages with that software?
 

FAST6191

Techromancer
OP
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
Is installing more than one IDE or compiler such an imposition? With the exception of IOS stuff then they can all be done for free on Windows.

Anyway programming is almost invariably a text based affair so you will want a text editor. Depending upon what you want to do beyond that you might be able to get away with just that, though more things helps a lot.

Free software can be done in almost anything (there might be some paid only languages somewhere or compilers or something that disallow it but hey).

GBA was mostly C and GBA assembly, DS did better for C++ as well but was mostly C and DS assembly.

Web pages. The basic markup and layout is the responsibility of HTML and CSS but websites themselves are written in a variety of languages. The most popular is probably PHP but ASP.net (Microsoft's offering, and sort of familiar to anybody that has done things with C#) and Ruby on rails are also popular. To go on top of this you also have CGI (ways for websites to call normal PC programs) and databases (mysql being the most popular in the free and easy world but there are many many other choices), oh and I suppose .htaccess is a thing worth noting.

Android is largely taken care of with Java.

IOS is probably a combination of objective C (apple took C and added object oriented stuff to it, similar in some concepts to the C++ everybody else uses) and I guess I should mention Swift. For objective C you will want a reasonably current Apple computer or make hackintosh/VM with OSX in.

Dev C++ mostly does C and C++ so yeah you will want extra stuff. I don't know if you want to spread yourself so thin though. By all means learn some web stuff at the same time as learning C or Java or something like that but that is a lot of stuff to learn at the same time as learning the fundamentals of programming, indeed even if you already know such things then it is still a fairly big ask.
 

Vishnoo

Failure is success if we learn from it.
Member
Joined
Jun 1, 2016
Messages
261
Trophies
0
XP
146
Country
India
Howdy!
Years ago, I was interested in Programming, and actually, I WAS learning to code with a software called: "DEV C++", which I remember, it "had" many programming languages in it, so you can choose any you want to code on.
CAN I USE "DEV C++"?
Or do I have to download and install EVERY Coding Software out there? (the ones that I'm interested in, that is)
Like, I wan't to create free software, web pages, mobile games and videogames (GBA, NDS, 3DS, Android, IOS, etc.)
So I'm guessing that I need:
-C#
-C++
-Java
-LUA
-Phyton
-Ruby

I have "DEV C++", can I learn all those languages with that software?

Get Visual Studio 2015 if you want to learn all programming language.
 

Gizametalman

Banned!
Banned
Joined
Dec 18, 2015
Messages
974
Trophies
0
Age
30
Location
D.F. - Zona Cero.
XP
730
Country
Mexico
Thanks for both replies.
Visual Studio ain't working on my computer. I downloaded Visual Studio Community (or something along those lines) and it NEVER installed onto my computer.
I've been learning Java for the past 2 days and so far I'm kinda getting the hang of how coding works, still have a lot to learn.
I'm assuming that, once I learn ONE language (Java at least for me) then any other seemingly simple language shouldn't be as hard to learn from scratch...

Installing every single required software to code is not the problem. I just like to keep things organized.

--------------------- MERGED ---------------------------

When trying to install Visual Studio, it "deletes" something, and then a Error screen pops up.
 

Attachments

  • Captura de pantalla (44).png
    Captura de pantalla (44).png
    95.2 KB · Views: 320

Deleted member 373057

Well-Known Member
Member
Joined
Oct 5, 2015
Messages
462
Trophies
0
XP
561
Country
Canada
I don't think typing speed and programming have all that much to do with each other. Equally if you are programming faster than you can type you are probably valuable enough to have a typist handle it for you, or take a week to learn how to do it.

Being able to type quickly and relatively accurately is a useful skill. Equally for the time being I don't imagine much useful programming will happen in the visual space (scratch is nice for teaching kids but anything practical is some time off) so it is necessary for programming. It is not terribly related beyond that though.
Though it is not crucial to type fast, or even above 50wp, I highly recommend teaching yourself how to type properly if you have not already. I used to be around 60wpm by having miss-aligned fingers, am now 110 wpm on a good day. Not only that, but symbols and words in general are easier to type. Regardless of whether you're going to code a lot, if you're at a keyboard for over 1 hour a day, typing properly is a must.
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Hunt-and-peckers can actually type pretty fast, but can't do it without looking at the keyboard.

When I program I have to look at the keyboard because you need _ | <> ? [] {} * - = % a lot and a lot of people, even though they can type "The quick brown fox jumped over the lazy dog." can't type those special chars without looking.
 

Deleted member 373057

Well-Known Member
Member
Joined
Oct 5, 2015
Messages
462
Trophies
0
XP
561
Country
Canada
Hunt-and-peckers can actually type pretty fast, but can't do it without looking at the keyboard.

When I program I have to look at the keyboard because you need _ | <> ? [] {} * - = % a lot and a lot of people, even though they can type "The quick brown fox jumped over the lazy dog." can't type those special chars without looking.
I can type all of those symbols without looking. The only time I look at my keyboard is for the function keys (F1, F12, etc.), those are a pain.
 

CosmoCortney

i snack raw pasta and chew lollipops
Member
Joined
Apr 18, 2013
Messages
1,768
Trophies
2
Location
on the cool side of the pillow
Website
follow-the-white-rabbit.wtf
XP
3,007
Country
Germany
Very nicely written. I'm a C++ coder and use the Qt IDE. It's easy to use once set up properly and there's plenty of tutorials out there :)

But what about assembly programming? I know it might not be something reasonable for beginners but in my opinion worth mentioning.
C++ and assembly make a great combination
 
  • Like
Reactions: Coto

FAST6191

Techromancer
OP
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
I like playing with assembly and value what I know of it greatly, however so very few things allow its use any more (usually in favour of intrinsics) and even if it did it tends to also get in the way of security models (kind of hard to do aslr with it, some then speculated all those inline functions being what held back security on pdf readers, flash and some aspects of java).

To that end its main users are hackers, people working with legacy code and students learning a bit of it so they have a clue what their compilers are doing and hopefully then why it is a bad plan to call functions from within functions and why they really want to manage their arrays are doing. At the same time it is also quite scary and has been seen to turn people away and then consider programming beyond their ken where they might well have been able to handle python, and it is not as though python doesn't do useful computing in timeframes which make sense.
 
D

Deleted User

Guest
Serious question here.

My math skills are fairly poor, but ofcourse I know how to use a frigging calculator and how to work stuff out.

I'm planning to go to college in a year to study Games Development, but over the next year's wait until I get into my course, I want to study and improve as much as I can ahead of time.

What sort of maths skills would You (or others) suggest I learn over the next year? Call it a sylabus of math's categories I should be learning.
 

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,979
Trophies
2
XP
2,565
Country
Chile
Serious question here.

My math skills are fairly poor, but ofcourse I know how to use a frigging calculator and how to work stuff out.

I'm planning to go to college in a year to study Games Development, but over the next year's wait until I get into my course, I want to study and improve as much as I can ahead of time.

What sort of maths skills would You (or others) suggest I learn over the next year? Call it a sylabus of math's categories I should be learning.

I think audio related stuff is a good training source, same as graphics related coding. Plain learning about how to gather brick pieces should be the start in any language (and not language specific). But treat it as a start.

But I think deep learning (a word from machine learning field), only resembles (or at least they try lol) the scientific approach as how everything works.

Audio related approach I thought you would find interesting:
https://www.allaboutcircuits.com/projects/diy-synth-series-vco/

For graphics you can pretty much read the Open GL standard to see how to deal with matrix related stuff.
 
Last edited by Coto,

grossaffe

Well-Known Member
Member
Joined
May 5, 2013
Messages
3,007
Trophies
0
XP
2,799
Country
United States
Serious question here.

My math skills are fairly poor, but ofcourse I know how to use a frigging calculator and how to work stuff out.

I'm planning to go to college in a year to study Games Development, but over the next year's wait until I get into my course, I want to study and improve as much as I can ahead of time.

What sort of maths skills would You (or others) suggest I learn over the next year? Call it a sylabus of math's categories I should be learning.
Discrete Math, Graph Theory, and Linear Algebra would all probably be relevant to programming/game development.
 

FAST6191

Techromancer
OP
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
There is a reason Rockstar hires physicists.

There is also a reason I don't think I have ever met a mathematician which knows their times tables. Mental arithmetic is a fine skill but unless you are working in a bar or counting cards it is a party trick, or maybe a sanity check (anybody can spot someone fat fingering a key and causing something to be some 10 times greater than it should be, someone accidentally using / when they meant * and the thing being accidentally divided by is 1.05 does warrant a bit more).

I have taught game developers aspects of physics before, and there are plenty of examples of similar things throughout gaming.

At the same time I can think of a dozen different fields which require some exotic maths which are easier if you understand the maths used to calculate them/describe them. Light, matrix maths, some of 3d movement and representation, ideas of rotational motion (swinging on a rope, said rope gets stuck on a point and you want momentum to be conserved), back to 3d stuff then simple scaling factors and manipulation of items (see 3d modelling or more likely engineering CAD), want proper water physics/fluid dynamics and it gets maths heavy very quickly. Other times you may run straight into a wall if you don't get a concept in maths (you get stories of people teaching others to program and they struggle with a concept, people wonder what goes and it turns out they are 12 and obviously have not met that in school yet). Many of those in my little list before are seen in games but at the same time these days we have hardware and prebaked software dedicated to it -- I am sure we have all played games which showcase a nice magic spell full of fancy particle effects but did nothing because the game dev did not think to balance it within their engine. I could unpack grossaffe's list of scary American (seriously, nobody elsewhere in the world uses subject headings like that) terms and show you how they might be useful -- most will allow you to predict how things will change once you throw real numbers at them, create nice models of operation (games where a wizard starts out squishy but eventually ends overpowered compared to their warrior friend are usually examples of exponential growth, or at least growth to a power vs linear growth, and if you understand graphs you will spot that and be able to correct for it in your game*), and otherwise understand things more easily.

*while exponential growth and linear growth often start off with linear being bigger they cross at some point. You can make your level 100 wizard grow in power such that it crosses at that point. Alternatively you can add some other factor to the game to hobble the wizard such that it can still be fun for the others (in games this will usually be damage per second but that is rather limiting a way of thinking about it).

With all that said it is not that maths heavy a field. You are not going to get anywhere without logic and understanding the concepts of flow within it but the maths... it is fairly basic addition and subtraction when all is said and done and you literally are having a computer do it.
Maths tends to get used to introduce concepts -- I don't know if you are familiar with the idea of factorials (tending to be written something!, 5! = 5x4x3x2x1 = 120, 4! = 4x3x2x1=24, 3!=3x2x1=6....) which is probably the purest representation of the idea of recursion I can think of.

Choice video at this point


No great maths in there. Programming in almost its purest essence though.

Still
images.png

You may recognise those as the equations of (linear) motion. If you can't manipulate those trivially to get a given concept ("first equation I am giving you v, v0 and t, now find a" sort of thing) or stick it in the quadratic formula (second equation I am giving you r, r0, a and v0, find me t) then sort that very quickly.

If you want to grasp the foundations of game theory and game design (the workaround for the overpowered wizard being a start there) I'll not say no either. These guys do well here https://www.youtube.com/playlist?list=PL3eVql0CPrVhG2AeVE1l8hcNPSNmoeagK
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=pkYA4rALqEE