background preloader

Advanced Programming Languages

Advanced Programming Languages
Introduction Research Syntax Semantics Static Semantics ( Type Theory ) Dynamic Semantics Semantic Related Developments Abstract Interpretation Program Transformation Decompilation Partial Evaluation Pragmatics ( Software Patterns , Generic Programming , Visual Programming , Persistence , Reflectiveness , Hyperprogramming) Semiotics Implementation Techniques: Garbage collection , Abstract Machines Some Conferences (not updated) People and Groups Teaching Introduction to Programming Languages Selecting First Programming Language Courses about Programming Languages Courses about Foundations of Programming Languages Courses about Language Processors Paradigms Comparing Programming Languages Functional Programming ( Haskell, ML) Logic Programming (Prolog) Object Oriented Programming (Java, C++, Smalltalk, ...) Cross Paradigms : Logic-Functional , Object Oriented-Functional , Object Oriented-Logic My List of Programming Languages Selected Bibliography Selected Papers Selected Books Acknowledgments Backus Naur Form (BNF) C. Related:  general knowledge

Top 50 Programming Quotes of All Time I hope you have enjoyed our collection of funny computer quotes, Linux quotes, and all those quotes that we have shared with you so far. For today, I've decided to gather a good number of my all-time favorite programming-related quotes. Most of the programming quotes I've collected are made by some of the famous names in the industry, while others came from not-so-famous people. Without further delay, here are my top 50 programming quotes of all time: 50. - Rick Cook 49. - Alan Kay. 48. - Edward V Berard 47. - Olav Mjelde. 46. - Alan J. 45. - Waldi Ravens. 44. - Bjarne Stroustrup 43. - Eric S. 42. - Mosher’s Law of Software Engineering 41. - Oktal 40. - pixadel 39. - Bill Clinton 38. - E.W. 37. - Roberto Waltman. 36. 35. - Bill Bryson 34. - Blair P. 33. - Alan J. 32. - Ron Sercely 31. - Thomas C. 30. - Cory Dodt 29. - Linus Torvalds 28. - Antoine de Saint-Exupéry 27. - Dennis M. 26. - Yoggi Berra 25. - Jim McCarthy 24. - Jon Ribbens 23. - Kyle Woodbury 22. - Keith Bostic 21. - Larry Wall 20. - Alan Kay 19. 9.

Beginning Game Development: Part I – Introduction | Coding4Fun Articles Part I – Introduction Welcome to the first article of an introductory series on game programming using the Microsoft .NET Framework and managed DirectX 9.0. This series as aimed at beginning programmers who are interested in developing a game for their own use with the .NET Framework and DirectX. In this series, we are going to build a simple game to illustrate the various components of a commercial game. Tools: Before we start writing our first game we need to talk about the tools we will use. The most important tool for any developer is the Integrated Development Environment (IDE). Visual Studio 2005 (also known by the codename “Whidbey") is the third version of the standard Microsoft IDE for .NET Framework-based applications. The second important tool we need to create a great looking game is a graphics Application Programming Interface (API). At some point in your game development experience you are going to have to create or modify graphics. What makes a successful game? Our Game idea:

Great Works in Programming Languages In September, 2004, I posted a query to the Types list asking people to name the five most important papers ever written in the area of programming languages. This page collects the responses I received. (A few are missing because I am still tracking down bibliographic information.) Many thanks to Frank Atanassow, David Benson, Nick Benton, Karl Crary, Olivier Danvy, Mariangiola Dezani, Dan Friedman, Alwyn Goodloe, Pieter Hartel, Michael Hicks, Robert Irwin, Luis Lamb, Rod Moten, Rishiyur Nikhil, Tobias Nipkow, Jens Palsberg, and John Reynolds for contributing. Additional suggestions are welcome. (Bibtex format preferred!) The greatest of the great (mentioned by many people): C. Peter J. Robin Milner. Gordon Plotkin. John C. Pretty great works (mentioned by multiple people): Luca Cardelli. Luis Damas and Robin Milner. Edsger W. Edsger W. William A. Robert Kowalski. Peter J. John McCarthy. Eugenio Moggi. Greg Morrisett, David Walker, Karl Crary, and Neal Glew. George C. Gordon D. Gordon D.

50 Places You Can Learn to Code (for Free) Online If you’re curious about learning a programming language then you’re in luck: there’s no shortage of resources for learning how to code online. University-level courses, tutorials, cheat sheets, and coding communities all offer excellent ways to pick up a new language, and maybe even a new job, too. Read on, and you’ll discover 50 great places to learn how to code, for free, online. University Many big names in education including MIT and Stanford offer programming courses, absolutely free. General If you’re just dipping your toes into programming, or you want to find a variety of resources, these sites offer several different ways to learn how to code. Community Learn how to code on these sites with a heavy community influence ready to offer help to newbs. Language Specific Drill down to the language you really want on these sites, offering expansive learning in one or two specific languages.

The 5 types of programmers « Steven Benner's Blog In my code journeys and programming adventures I’ve encountered many strange foes, and even stranger allies. I’ve identified at least five different kinds of code warriors, some make for wonderful comrades in arms, while others seem to foil my every plan. However they all have their place in the pantheon of software development. The duct tape programmer The code may not be pretty, but damnit, it works! This guy is the foundation of your company. The OCD perfectionist programmer You want to do what to my code? This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. The anti-programming programmer I’m a programmer, damnit. His world has one simple truth; writing code is bad. The half-assed programmer What do you want? The guy who couldn’t care less about quality, that’s someone elses job. The theoretical programmer Well, that’s a possibility, but in practice this might be a better alternative. Where do you fit?

Six ways to write more comprehensible code I learned to write, clear, maintainable code the hard way. For the last twelve years, I've made my living writing computer games and selling them over the Net using the marketing technique that was once charmingly known as shareware. What this means is that I start with a blank screen, start coding, and, a few tens of thousands of lines of code later, I have something to sell. This means that, if I make a stinky mess, I'm doing it in my own nest. So I have been well rewarded by learning about good, sane programming techniques. But there are many who, like me, stumbled into programming in an unexpected or unusual way and never had anyone drill this stuff into them. The example case For illustration purposes, our example program throughout this article is a hypothetical computer game called Kill Bad Aliens. Figure 1. The game will take place in periods of time called Waves. Killing an alien gives you some points. When a bomb hits you, your ship blows up and another appears. Back to top Oh?

Hallmarks of a Great Developer - Test Guide If you ask me, I'll tell you a great developer Plans before coding A great developer takes the time to plan an approach before designing or coding. Always knows why A great developer always knows exactly why they wrote a particular line of code, and why they wrote it the way they did. Writes situation-appropriate code Any developer can write code. Deviates where and when necessary A great developer not only knows the canonical implementation but understands it is the canonical implementation. Knows when not to change code A great developer knows that changing code is sometimes worse than fixing it. Approaches debugging scientifically A great developer knows that debugging is a science not an art and approaches it as such. Walks through their code A great developer knows that they don't really know their code until they've stepped through it. Knows the language and platform intimately A great developer knows the programming language (and platform) in use inside and out. Groks the tools Documents

Everything you need to know about pointers in C Style used in this document This is regular text. This is a , some code, and some sample output. This is a line of code. This is output you'd see on your screen. Definition of a pointer A pointer is a memory address. (Mmm, short paragraphs.) Starting off Say you declare a variable named . int foo; This variable occupies some memory. Now let's declare another variable. int *foo_ptr = &foo; is declared as a pointer to int. As I said, occupies some memory. Think of every variable as a box. is a box that is sizeof(int) bytes in size. This is true of all variables, regardless of type. The point of that is that the pointer is not the variable! The pointer has a type, too, by the way. multiple indirection . Interlude: Declaration syntax The obvious way to declare two pointer variables in a single declaration is: int* ptr_a, ptr_b; Given this, what is the type of ? *bzzt* Wrong! The type of is int. C's declaration syntax ignores the pointer asterisks when carrying a type over to multiple declarations. lvalue .

5 Brilliant 'Design Your Own Game' Websites for Students There’s been a lot of buzz lately about the use of gaming in the classroom – from the ‘gamification’ of learning to the use of Minecraft to teach everything from physics to strategic thinking. Since long before education technology even existed, video games have been a hugely successful way to engage students, creating a fun and compelling environment in which they can learn, develop and interact with their peers. But allowing students to actually take control of designing the game themselves takes the concept to a whole new level, allowing them to practice a host of new creative and technical skills. Here are 5 top websites – let the games begin! 1. This brilliant website allows students a vast range of options. 2. Ideal for younger students, this game allows the player to create their own pathway for a stick man hero by spray painting a route for him onto the game board. 3. 4. 5. What ‘design your own game’ sites or tools are you using to encourage students to get creative in gaming?

code school Free Programming and Computer Science Books