Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Switching between languages/API


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 ZwodahS   Members   -  Reputation: 483

Like
0Likes
Like

Posted 23 April 2014 - 01:00 AM

Hi, not really a beginner question but probably fits here than anywhere else.

 

I was coding SFML/C++ for the entire year of 2013, and switched to Libgdx/Java this Jan to port a game I made in C++ to android. After playing with Libgdx for about 2~3 months, + a 1 week break without touching any coding, I faced a problem. I wanted to prepare myself for Ludum dare this week and intended to use SFML/C++ instead of Libgdx, since I like SFML more. I realized I couldn't remember most of my C++/SFML stuffs. (I will probably have to read through my old projects). It is not that I forget the syntax but to do extremely trivial stuffs, like drawing sprite to screen, using my own personal code, or even just loading of assets, I have to reference my old projects to get started.

 

So my question is, what are some ways that you guys do to prevent or reduce this "confusion state" that happens when you switch from one language to another after using one for significant time.  I don't think I am the only one that experience this. Does cheatsheet helps ? I tried creating one in the past but it became extremely tedious and pointless when you are using the language but become extremely useful when you forget them.

 

 


Check out my blog at zwodahs.github.io and zwodahs.itch.io/


Sponsor:

#2 NightCreature83   Crossbones+   -  Reputation: 3030

Like
2Likes
Like

Posted 23 April 2014 - 02:22 AM

When I dont spend time on a codebase for a while I will have to read the stuff again and see how I do things, this is normal you can't keep all of this in your head all the time. The thing is though that you haven't actually forgotten how something works it's just the details that you miss, once you have seen them again for once you remember how it works.

 

I switch between 3 programming languages often, mostly C++/C# the only mistake I always make is array syntax related, if I switch to or from python extra {} are added in python or forgotten in C++.


Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#3 frob   Moderators   -  Reputation: 22692

Like
5Likes
Like

Posted 23 April 2014 - 02:38 AM

If you don't use it, you lose the details quickly.

 

Over my career I have forgotten more languages than I currently know. Pascal, Ada, Cobol, about 10 versions of basic, dozens of scripting languages and tool languages, and on and on. I may be able to recall notable features of each, but otherwise they are gone from my brain's working set.

 

 

The good news is that when you need to pick it up again, the necessary bits come back very quickly. I went form mostly forgetting the details of Java 1.3 to needing to pick it up again quickly at Java 7 (they had dropped the 1.x naming) after a decade of non-use. It was just like falling off a bike. huh.png  (I shouldn't say much bad about it, Java is a mostly good language.)


Edited by frob, 23 April 2014 - 02:39 AM.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#4 Hauck   Members   -  Reputation: 224

Like
1Likes
Like

Posted 23 April 2014 - 07:44 AM

I usually keep a document with the most important stuff I've done in some project, for each project. Most doubts I faced during the development should be there, also tricky workarounds I've used and whatever I think I'm going to forget about soon. It's good to keep it neat and simple.

 

Quite of a simple thing, but most people get lazy to do it and I find it very helpful.



#5 3Ddreamer   Crossbones+   -  Reputation: 3160

Like
0Likes
Like

Posted 23 April 2014 - 12:41 PM

Descriptive documentation, commenting (in code, perhaps within mainly a version of the game source code only for that), and to continue using the previous language and your libraries as much as you can while working another - is about all that you can do.  

 

Long term, if you revisit coding issues enough times then most of them will stick more, which might take years.

 

This thread shows the importance of making sure to thoroughly complete a game (or version of one) before moving to another project when possible. Read my signature below here and you will see that I am adamant about these matters.


Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#6 ZwodahS   Members   -  Reputation: 483

Like
0Likes
Like

Posted 23 April 2014 - 01:42 PM

I have read through some of my completed projects since I posted this :D. Most of the memory came back after a while =).

 

I think having completed projects helps a lot. I wanted to make a cheatsheet for this a few years ago when I was switching between python / java / C# but I guess once you have enough projects in that language, they will serve the purpose of the cheatsheet.


Check out my blog at zwodahs.github.io and zwodahs.itch.io/


#7 Josh Vega   Crossbones+   -  Reputation: 1206

Like
1Likes
Like

Posted 23 April 2014 - 08:05 PM

I regularly switch between several languages and APIs. For the languages I use the most (C, C++, C#, Java, JavaScript, PHP, Python, and Haskell) I have a quick reference sheet that has some of the common techniques and styles that are specific or noteworthy to that language. For APIs, I also have references for some of my more commonly used methods or classes in some of my regularly used APIs. I also have at least 1 book for each language or API (if there is a book for it) nearby so I can pull it out and use it if my quick reference sheet doesn't provide enough detail.

 

I also like to comment my code regularly, especially when using 3rd-party libraries.

 

Plus there's always the internet and I have a bookmarks folder for all the reference pages for just about every API I use regularly.


Some favourite quotes:
Spoiler




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS