Jump to content

  • Log In with Google      Sign In   
  • Create Account


General Programming Articles

Article Listing

How to Handle Circular Dependencies with Templates in C++

Published in General Programming

By Kent Fagerjord - This is a problem I encountered while tuning the Message-Component-Entity system in our game under development while using C++ templates

Writing Fast Code: Introduction To Algorithms and Big-O

Published in General Programming

By Arian Allenson M. Valdez - Ever wondered what makes code fast? Here we take a look at different algorithms, their running time, and Big-O.

Grounded Pointers

Published in General Programming

By Andrey Karpov - Our ex-colleague is sincerely worried about the quality of the code he deals with in his new job, leading him to write a paper on ways you shouldn...


View Complete Archive You cannot add articles


Like
26Likes
Dislike

Organizing Code Files in C and C++

Jun 07 2013 04:23 PM | Posted By Ben Sizer in General Programming
Splitting up your code files is a great way to stay organized, but can cause trouble for new programmers that may lead them away from this good practice. Learn the common problems and how to solve them

Tagged With:  c lang  c++  header file  source file  organization 
Like
16Likes
Dislike

Smart Pointers Gotchas UNDER REVIEW

Jun 04 2013 02:57 PM | Posted By Bartłomiej Filipek in General Programming
Answers for questions like - Why is auto_ptr deprecated? Why unique_ptr finally works good? How to use arrays with unique_ptr? Why create shared_ptr with make_shared? How to use arrays with shared_ptr? How to pass smart pointers to functions?

Tagged With:  pointers  smart pointers  c++  c++11 
Like
46Likes
Dislike

A Journey Through the CPU Pipeline

May 16 2013 09:09 AM | Posted By Bryan Wagstaff (frob) in General Programming
The CPU does not need to be an opaque box of mystery. Skilled programmers learn their tools, including what goes on inside the CPU. Very skilled programmers learn to optimize their code by knowing both what is inside and also how to manipulate the results.

Tagged With:  cpu  optimization 
Like
35Likes
Dislike

Multithreading

May 11 2013 06:29 AM | Posted By Vivien Oddou in General Programming
In games, performance is obviously critical, almost every device now features multi core systems; we have a tendency to naturally feel that going towards more threading is neat. I'd like to give a few insights about low level implications of threading.

Tagged With:  c++  mem-fence  thread  low-level  condition-variable  mutex  c# 
Like
14Likes
Dislike

Modern Garbage Collectors under the Hood UNDER REVIEW

May 07 2013 07:15 AM | Posted By Bluefirehawk in General Programming
More and more Applications are written in a language that manages its memory with a Garbage Collector, since that is what the cool kids are doing now. But weirdly, even experienced programmers seem to have a distorted image of the good and bad sides of the Garbage Collector. In this Article, I try to show how modern Garbage Collector work and discuss some common misconceptions.

Tagged With:  garbage collection  memory management  tutorial  c++ 
Like
13Likes
Dislike

Getting started with Team Foundation Service: Part 1

Apr 30 2013 01:40 PM | Posted By Oli Wilkinson in General Programming
This article discusses the reasons for using a source control and continuous integration system.It then shows you how to get started with Team Foundation Service - Microsoft's cloud-based service for agile planning, collaboration, source control and continuous integration.

Tagged With:  tfs  visual studio  agile  source control  continuous integration 
Like
15Likes
Dislike

Practical Cross Platform SIMD Math

Apr 26 2013 05:11 AM | Posted By AllEightUp in General Programming
Supporting multiple target SIMD dialects is a painful chore. Intel made this quite difficult by continually adding a little here and there and ending up with 8+ different variations. This article will present a solution of leveraging SIMD without too many hassles.

Tagged With:  C++  C language  SIMD  math  cross platform  C++ 11 
Like
7Likes
Dislike

Design Tradeoffs For Customized Script Interpreters

Apr 18 2013 03:35 PM | Posted By Brendan G Bohannon in General Programming
There may be a number of tradeoffs in the design of both a scripting language and the underlying interpreter. I will attempt to address a few of them here.

Tagged With:  script  VM  interpreter  language  bytecode  stack  register 
Like
25Likes
Dislike

C++: Custom memory allocation

Apr 15 2013 02:07 PM | Posted By Tiago Costa in General Programming
Being able to efficiently use the available (limited) memory is extremely important in high performance applications like computer games.

Tagged With:  c++  memory  allocation 
Like
13Likes
Dislike

Cross Platform Test Driven Development Environment Using CMake (Part 4)

Apr 10 2013 04:10 AM | Posted By AllEightUp in General Programming
It is time to finish fleshing out the build environment and discussing some of the more advanced features of CMake. This article goes through the options system in more detail and shows how to add a cross compilation target for iOS. Many of the prior article details are put into use in the process and the resulting environment is not a bad starting point for further work.

Tagged With:  cross platform  makefile  c++  c++11  make  cmake 
Like
16Likes
Dislike

Cross Platform Test Driven Development Environment Using CMake (Part 3)

Apr 08 2013 03:40 AM | Posted By AllEightUp in General Programming
In Part 3, it is time to finish off the basic build environment by adding the last target type, shared libraries. Unfortunately this portion involves Windows specifics and takes a while to make fully cross platform. When everything is functional it will be time to add the unit testing framework. The remainder of the article will cover how to setup the unit tests with CMake and various methods...

Tagged With:  make  cmake  makefile  cross platform  c++  c++11 
Like
13Likes
Dislike

Data Structures for Pre-College Programmers: Non-linear Data Structures

Apr 07 2013 07:23 PM | Posted By frob in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers the the non-linear data structures. These include data dictionaries, ordered sets, and unordered sets.

Tagged With:  beginner  data  data structures  dictionary  hash  set  unordered set  ordered set 
Like
12Likes
Dislike

Data Structures for Pre-College Programmers: Stacks and Queues

Apr 01 2013 03:51 PM | Posted By frob in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers stacks and queues.

Tagged With:  beginner  stack  queue  data structures  data 
Like
17Likes
Dislike

Data Structures for Pre-College Programmers: Trees and Heaps

Mar 31 2013 01:51 PM | Posted By Bryan Wagstaff (frob) in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers trees and heaps.

Tagged With:  beginner  data  data structure  trees  heaps 
Like
18Likes
Dislike

Cross Platform Test Driven Development Environment Using CMake (Part 2)

Mar 31 2013 10:37 AM | Posted By AllEightUp in General Programming
In the first part of this series, a first use of CMake was presented and a very simple project outline was built. At the end of the article a build break was intentionally introduced in order to show how quickly a simple fix could be put in. This article continues from that point and begins the process of correcting the broken build in a better manner while introducing more CMake syntax and u...

Tagged With:  cmake  make  cross platform  makefile  c++  c++11 
Like
23Likes
Dislike

Data Structures for Pre-College Programmers: Arrays, Dynamic Arrays, and Linked Lists

Mar 29 2013 03:58 AM | Posted By Bryan Wagstaff (frob) in General Programming
This is part of a series of articles dealing with data structures for beginners. It covers the three most basic data structures.

Like
26Likes
Dislike

Cross Platform Test Driven Development Environment Using CMake (Part 1)

Mar 27 2013 07:56 PM | Posted By AllEightUp in General Programming
Game development is often difficult enough when you want to target a single platform. It can become a nightmare when you start working on multiple platforms. Presented is one possible example of how to setup your project and directories in preparation for multi-target work with a focus on test driven development.

Tagged With:  make  cmake  cross platform  makefile  c++  c++11 
Like
7Likes
Dislike

Pre-Visualization Is Important! UNDER REVIEW

Mar 17 2013 10:09 AM | Posted By superman3275 in General Programming
Many a beginner on gamedev.net (including me) has trouble with their software in the beginning. I had no idea how to plan for projects or what was even included in projects. I would look for posts about how to plan out projects. This article presents an approach a beginner can use for organizing their project.

Tagged With:  program  organization  design  visualization  planning  beginner 
Like
4Likes
Dislike

100 bugs in Open Source C/C++ projects

Mar 16 2012 04:28 AM | Posted By Andrey Karpov in General Programming
AbstractThis article demonstrates capabilities of the static code analysis methodology. The readers are offered to study the samples of one hundred errors found in open-source projects in C/C++. All the errors have been found with the PVS-Studio static code analyzer.IntroductionWe won't tire you programmers by making you read texts and will pass to the error samples right away. Those who wa...

Like
2Likes
Dislike

Producer Consumer Using Double Queues

Feb 22 2012 09:10 AM | Posted By Ram Mohan Raja in General Programming
Download source - 4.02 KBLicense: ZlibIntroductionProducer consumer is an old computer science problem. Many solutions have been proposed to solve this problem. The general approach is using a common queue. A single queue to which the producer writes data to and the consumer reads data from. Avoiding race conditions is done by locking the queue so that when the producer is writing, the consumer...

Like
2Likes
Dislike

JIRA: Programming Workflows

Jan 31 2012 09:29 PM | Posted By Jobin Kuruvilla in General Programming
In this article by Jobin Kuruvilla author of JIRA Development Cookbook, we will cover:Writing a workflow conditionWriting a workflow validatorWriting a workflow post functionEditing an active workflowIntroductionWorkflows are one standout feature which help users to transform JIRA into a user-friendly system. It helps users to define a lifecycle for the issues, depending on the issue type, the...

Like
2Likes
Dislike

.NET Generics 4.0: Container Patterns and Best Practices

Jan 31 2012 09:26 PM | Posted By Sudipta Mukherjee in General Programming
There are several generic containers and generic algorithms available in the .NET Framework and a couple of other majorly accepted APIs such as Power Collections and C5.In this article by Sudipta Mukherjee, author of .NET Generics 4.0 Beginner’s Guide, we will take a look at:Generic container patterns: There are several patterns that are used more than the others in code bases that use Generics...

Like
3Likes
Dislike

Sedge: An Automated Error Reporting Tool

Jan 30 2012 02:23 PM | Posted By Andrei Marukovich in General Programming
Download demo - 248 KBDownload source - 1.26 MBLicense: Ms-PL IntroductionEvery developer knows how important a good bug report is, and every developer wants as much details about the issue as the user can provide. There are different solutions that aim to facilitate the error reporting process, from tiny third-party components to such powerful technologies like Microsoft Windows Error Reportin...

Like
3Likes
Dislike

Inter-Process Communication (IPC) Introduction and Sample Code (.net)

Jan 30 2012 02:17 PM | Posted By All-In-One Code Framework in General Programming
Download IPC source code - 229.21 KBLicense: Ms-PL IntroductionInter-Process Communication (IPC) is a set of techniques for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC techniques include Named Pipes, File Mapping, Mailslot, Remote Procedure Calls (RPC), etc.In All-In-One Code Framework, we ha...

Like
2Likes
Dislike

Parallel programming in .NET - Internals

Jan 30 2012 02:15 PM | Posted By Manabendra Roy (Manab) in General Programming
Download demo - 2.67 KBLicense: Ms-PL Introduction.NET 4 brings a powerful Task library to support a piece of code to run in parallel processors. It just simply spawns threads into multiple processes using the newly written Task libraries (System.Threading.Tasks) in Mscorlib 4.0. Task libraries contain methods like For, ForEach, and Invoke to support parallelism in .NET languages, which I will...

PARTNERS