Logo Platform
logo amplifiers simplified

How did the guys at Amplitude learn to code?

Reply
Copied to clipboard!
10 years ago
Jan 26, 2015, 4:13:05 PM
I'm trying to learn how to code in C# and feel a bit overwhelmed. Anyone here, fan or Amplidude, have any advice for me?



I have so much love and passion for 4X that I should make one some day. Can someone please offer some suggestions?



Also, I understand that this is off-topic, but I'm posting it here for exposure to the Amplidudes and will happily move it to the OT section, if need be.
0Send private message
10 years ago
Jan 26, 2015, 4:26:32 PM
I began learning C and Java in highschool through various projects and programs I was in. Since then ive coded in VBA, C++, Python, Matlab and various other languages.

(Had the most issues with Python).



The biggest thing is just practice.

Find code examples that you can digest (and learn what they did) and google any questions you have (instead of assuming it cant be done).

Start with something extremely basic and slowly add on to it. Pretty soon you will be able to apply what you've learned in a different situation.



Once you've learned one language it is pretty easy to move to another because most are pretty similar.
0Send private message
0Send private message
10 years ago
Jan 26, 2015, 4:32:32 PM
Thanks, guys! This is great! I'm already digesting the Virtual Academy right now smiley: wink
0Send private message
10 years ago
Jan 26, 2015, 5:11:33 PM
If I can add my two cents:

-> First thing, being able to read code.

It’s like learning a foreign language. You have to understand the basic vocabulary first and then some simple syntax rules.

C# is quite easy on the syntax and vocabulary I think. There is not a lot of word to know to make your first “Hello World”.

After that you should be able to “read” some code. And every time you encounter you don't know, you can google it to find the “definition”.



-> Second knowing what the extended vocabulary contains.

For that, one thing and only one: Do stuff. Start small like they already told you. Then build over that. Try to finish what you start.

Try to access files, write xml, display something in the console, get something from the console, displaying some interface, etc. The more the better!

When you are depressed, try to read some old code. It can show you how much you have progressed.

Define some coding rules is a good thing too, but not mandatory. You can use some predefined one like this: https://stylecop.codeplex.com/



-> Last thing is: learn OOD (or object oriented design)

Some will say that OOD is not the only way, but, for me, it's the easiest one when you want to build some big project and being able to keep a track of what part do what and where you can expand and why.



But this will take you an awful lot of time to master... And even senior software architect learn something every day...

Try to understand UML and when/why it is important. Do not over design, but knowing where you want to go and why is always an asset, even if in the end you will certainly not code exactly what you have design.

And once again, start small, start simple, but finish it.



And in general:

-> Keep it as simple as possible. And when it's not possible, then still keep it simple.

-> Somebody has already solved your problem, if not, surely somebody has solved a problem which is really close to yours.

-> If possible, when you are stuck, try to discuss your problem/solution with someone else. Even if he does not understand, the reflexion needed to summarize your thoughs and express them will most likely point to a solution or a better approach.

-> Be proud. Whatever you do, whatever time you have spent!!!



By the way, I didn't know Microsoft Virtual Academy and it seams quite a good way to start. Thanks for sharing ^^



Cheers,

flo.
0Send private message
10 years ago
Jan 26, 2015, 5:55:00 PM
For me it started with passion for the computer games. I wanted to write my own. I soon realize that its not that simple smiley: smile but passion remained. I'm now a Javascript programmer ... not much to do with gaming.. but who know maybe I will someday finally start building some HTML5 game. As for how I stated learning to program. The very basic started in school. We got Logo lessons back in Primary School . In secondary school we got Turbo Pascal I liked it and was quite good at it at first but then other things came into my interest and I fought I would become a chemist. After one year on university I finally came to my senses and went to study computer science ( got Bachelor’s degree ). They where teaching C then C++ then Java and some C# - not to mention HTML - but I knew it well enough before I went to university. Beside pure programming languages lessons there where lessons on algorithms, databases and stuff - things You should at lest be aware of. I was attending my lectures, reading programming manuals and coding - lots of coding. If you want to learn how to program You must code a lot. Start from simple hello world programs and add new elements step by step. Start with an online tutorial then grab some book, them back online to start discovering all the little details.

There are a lot of different programming languages out there each having it pros and cons. Thankfully lots of them are also similar to one another. So just pick anyone. After some time - and a few programming languages - learning a new language will not be a problem for you. What will become important is what tools,libraries or frameworks you should know or learn. Search the internet, join some Facebook groups, forums, StackOverflow...

Just remember to code and have fun doing it.
0Send private message
10 years ago
Jan 26, 2015, 6:09:29 PM
I've always adored Amplitude's UI's and menus. Always functional, minimalist, responsive, and efficient with little to no baggage that interferes with immersion or gameplay, while remaining sleek and beautiful!



That advice is really sweet of you hehe <3



I'm just getting started myself, and it's daunting, but I'm fortunate enough to have a really good friend who is patient enough to work with me! haha!



There are some really good free resources out there too. I'm more of a loner myself, but, there are some subreddits completely devoted towards teaching others how to code which could be helpful to check out!
0Send private message
10 years ago
Jan 26, 2015, 9:48:04 PM
Thank you so much, everyone! Especially Thor for taking the time out of his busy day to respond! There is a lot of good information here so I'll be sure to digest it and get to it!



Who knows, maybe I'll be making my own 4X game in the next couple years smiley: wink
0Send private message
10 years ago
Jan 27, 2015, 12:03:54 PM
Man... I hated UML. Our teachers always wanted us to overdesign and overengineer everything.



We had to make exhaustive diagrams for every little thing in our applications (which were fairly simple), and so many pointless tests. It ended up breaking a lot of us.



They also insisted on separating things in different layers, which resulted in a ton of pulling data back and forth between the layers - which made applications much bigger and full of copy/paste code. >_>
0Send private message
10 years ago
Jan 27, 2015, 12:36:53 PM
Mansen wrote:
Man... I hated UML. Our teachers always wanted us to overdesign and overengineer everything.



We had to make exhaustive diagrams for every little thing in our applications (which were fairly simple), and so many pointless tests. It ended up breaking a lot of us.



They also insisted on separating things in different layers, which resulted in a ton of pulling data back and forth between the layers - which made applications much bigger and full of copy/paste code. >_>




Well hard to tell but maybe it was in order to teach You this stuff.

As for layers, you actually should separate You app into layers - use MVC pattern or something similar.
0Send private message
10 years ago
Jan 27, 2015, 5:54:12 PM
I never said there wasn't reason behind the madness - Only how much I hated it.



And as far as layering goes - Not to this extreme.
0Send private message
?

Click here to login

Reply
Comment