PROGRAMMING


  Pointers, arrays, and string literals

A recently posted question on Stack Overflow highlighted a common misconception about the role of pointers and arrays held by many programmers learning C.The confusion stems from a misunderstanding concerning the role of pointers and strings in C. A pointer is an address in memory. It often points to an index in an array, such as in the function strtoupper in the following code:void strtoupper(char *str){ if (str) { // null ptr check, courtesy of Michael while (*str != '\0') { // destructively modify the contents at the current pointer location ...

2,817 0       CHAR POINTER INITIALIZATION LITERAL CANN


  Readability in Programming Languages

I saw a side by side comparison of a bunch of scripting languages online recently. Scripting Languages: PHP, Perl, Python, Ruby My first, and second reaction was yuck! Now I have my biases – biases which may  not be shared by others of course. But I like readable code and for me anytime I see a special character (anything not an alphanumeric) it slows me down. This got me thinking about where we are going in design of programming languages? Are we moving forward (what ever that means) or backwards or just sideways?Back when I started programming close to 40 years ago the ...

2,051 0       PROGRAMMING STYLE CODING STYLE READABILI


  Gcd Algorithm with JavaScript

How to find the greatest common divisor betweentwo integers? We may encounter this problem frequently in interviews or otheroccasions.Anefficient metho to find gcd is the Euclideanalgorithm, whichuses the divisionalgorithm incombination with the observation that the gcd of two numbers also divides theirdifference: divide 48 by 18 to get a quotient of 2 and a remainder of 12. Thendivide 18 by 12 to get a quotient of 1 and a remainder of 6. Then divide 12 by6 to get a remainder of 0, which means that 6 is the gcd. Formally, it could bewritten asgcd(a,0)= agcd(a,b)= gcd(b...

10,942 2       JAVASCRIPT ALGORITHM GCD IMPLEMENTATION


  Permutation algorithm with JavaScript

In secondary school, we have learned permutation. Basically, for n numbers, the number of permutations for these n numbers can be calculated to n! which is called 'n factorial'. But to display all the permutations on the screen, we need to use a recursive function. The problem is how to write this function. Next I write a program to display the permutations for n numbers with JavaScript. First, we need to understand that from these n numbers, we can first take any one number from it, and the (n-1) numbers remaining has the similar property as the n numbers, we need to find the permutation...

35,020 0       JAVASCRIPT ALGORITHM PERMUTATION IMPLEME


  A Better Way to Learn How to Program

Learning how to program can be a nightmare. An aspiring coder has to jump through many unpleasant hoops and mysterious error messages just to get "Hello, World!" printed on the screen. Then, she's left wondering, "OK, now what? How do I actually build something?"As game developers seeing someone struggle through this, we should be screaming, “NOOOOO!” The whole thing reeks of bad game design: a lot of work with no reward, unclear failure cases, advanced features pushed on new players, etc. If we simply apply some simple game design principles, learning how to code can be much more ...

2,622 0       PROGRAMMING PATTERN GAME DESIGN DERIVATI


  Your Code is My Hell

It occurred to me recently that my experience as a Rails developer may be somewhat unique.I often get brought in to help preexisting Ruby/Rails projects evolve and mature in a sustainable way. As a result, the vast majority of Ruby projects I’ve worked on have been well-established by the time I arrived. In fact, offhand I can only think of one commercial greenfield Ruby project I’ve participated in. All the rest have been “legacy” from my perspective, in the sense that there was a sizable codebase in production before I showed up. (I’m not counting p...

3,382 0       CODE STYLE CLEAN CODE CODE PARADIGM


  Penrose Tiling in Obfuscated Python

Here’s a Python script which renders some Penrose tiling. Yes, this is valid Python code:_ =\ """if! 1:"e,V=100 0,(0j-1)**-.2; v,S=.5/ V.real, [(0,0,4 *e,4*e* V)];w=1 -v"def! E(T,A, B,C):P ,Q,R=B*w+ A*v,B*w+C *v,A*w+B*v;retur n[(1,Q,C,A),(1,P ,Q,B),(0,Q,P,A)]*T+[(0,C ,R,B),(1,R,C,A...

20,181 0       CODE STYLE WRITING PYTHON DISORDER


  Letter to a Young Developer

I’ve been getting some emails from young developers wanting to “level up” as programmers. I’m definitely not the first to write about this topic, so I’m not sure how much I have to add. Still, for what it’s worth here are a few points off the top of my head:Work with other developers. We are at a wonderful time in the history of technology when for the first time, it doesn’t really matter where you are or who you are working for. So long as you have a decent internet connection, you can pair up with another developer anywhere in the world and work...

2,161 0       PROGRAMMER TIPS DEVELOPER LETTER OPPORTU