Namespace visibility in C#
Java has package scoping. It allows an element to be visible only within the same namespace. It's a wonderful thing. Here's how it works in Java: package com.pc-doctor.mynamespace; package class Foo { ... } The class Foo is only visibile within mynamespace. Even though I'm not a Java programmer, this immediately strikes me as extremely useful. There are two reasons to want namespace visibility to be enforced by your compiler: If you can make those classes invisible outside the namespace, it will make life a lot easier for clients of that namespace. The Microsoft Way Microsoft expects you to make the classes internal. However, you have to make a separate assembly for each namespace that you want to do this with. Frankly, that's painful enough that few people do it. The C++ Way C++ also lacks namespace visibility. This is an easy thing to do, but it doesn't do much in C#. The end result is that a lot of detail namespaces will be visible. Even with those problems, it's probably worth doing in C#.
Protocol Buffers
Innovation Works | 创新工场
Remote Access Services
About Squeak
Once upon a time I also used to contribute to Squeak. To make the story short, I could not deal with the ever-growing mountain of crappy code anymore, and left. In the Squeak community, it's too easy to get credit for half-baking shitty code. Or, when you don't feel like writing crap of your own, plain stealing someone else's code and stomping your initials in. There is no reward for cleanup. It is very sad to come to say this, but you also have to consider whether Squeak's soil is the proper place for your esthetically pleasing intellectual seeds. Examine the Squeak mailing list over a long period of time and do not miss the pattern. For the foreseeable future, stay away from Squeak.
Cours de C/C++ - Club des décideurs et professionnels en Informa
Ce livre est un cours de programmation en C et C++. Il s'adresse aux personnes qui ont déjà quelques notions de programmation dans un langage quelconque. Les connaissances requises ne sont pas très élevées cependant : il n'est pas nécessaire d'avoir fait de grands programmes pour lire ce document. Lire l'article. Article lu 35350 fois. Vous avez aimé ce tutoriel ? inPartager Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance.
The A-Z of Programming Languages: C++
Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we have spoken to Alfred v. Aho of AWK fame, S. In this interview, we chat to Bjarne Stroustrup of C++ fame about the design and development of C++, garbage collection and the role of facial hair in successful programming languages. What prompted the development of C++? I needed a tool for designing and implementing a distributed version of the Unix kernel. You can find more detailed information about the design and evolution of C++ in my HOPL (History of Programming Languages) papers, which you can find on my home pages, and in my book "The Design and Evolution of C++". Was there a particular problem you were trying to solve? Where does the name C++ come from? As "C with Classes" (my ancestor to C++) became popular within Bell Labs, some people found that name too much of a mouthful and started to call it C.
FontStruct | Build, Share, Download Fonts
Dev102.com .NET, C#, WPF, Visual Studio Development tools, tips, tricks
%w(Akita On Rails) * 2.0 / Rolling with Rails 2.1 - The First Full Tutorial - Part 1
Unpacked gem: ‘/Users/akitaonrails/rails/sandbox/screencasts/blog/vendor/gems/haml-1.8.0’ Unpacked gem: ‘/Users/akitaonrails/rails/sandbox/screencasts/blog/vendor/gems/launchy-0.3.2’ Unpacked gem: ‘/Users/akitaonrails/rails/sandbox/screencasts/blog/vendor/gems/defunkt-github-0.1.3’ Unpacked gem: ‘/Users/akitaonrails/rails/sandbox/screencasts/blog/vendor/gems/launchy-0.3.2’ Notice that most of the gems changed from the [I]nstalled status to [F]rozen. But, the HAML gems was copied but for some reason it still shows up as [I] instead of [F], probably a small bug in the Edge version. I would expect all gems to show as [F]. Anyway. Particularly, we have to ‘know’ that the gem is named ‘rmagick’ but it is required as ‘RMagick2’. Now, we unpack them to our vendor folder using the same “gems:unpack:dependencies” command.
Cours de C/C++
Christian Casteyde Copyright © 2003 Christian Casteyde Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Permission vous est donnée de copier, distribuer et modifier ce document selon les termes de la licence GNU pour les documentations libres, version 1.1 ou toute autre version ultérieure publiée par la Free Software Foundation. Une copie de cette licence est incluse dans l'annexe intitulée "GNU Free Documentation License".
Dependency Injection in C++
My apologies on the double post – I accidentally clicked “create new page” :0) A really valuable technique birthed in the Java world is the idea of dependency injection. That is, instead of a class having to create it’s own object: class Foo { public Foo(){ bar = new Bar(); private Bar bar; (forgive my Java, it’s been awhile.) You pass in the object in its constructor, like this: public Foo(Bar newBar) { bar = newBar; } Of course, then, someone else has to be responsible for creating the bar object, so really, you end up just passing in object factories, or having a factory do all your setup for you. (The passing in of object factories case): interface BarFactory { public Bar BuildBar(); class NormalBarFactor implements BarFactory { public Bar BuildBar() { return new Bar(); } class TestBarFactory implements BarFactory { public TestBar BuildBar() { return new TestBar(); } //where TestBar inherits from Bar… public Foo(BarFactory barFactory) { bar = barFactory.BuildBar() } class FooBuilder{ public: private:
TechCrunch
Introduction -- Eloquent JavaScript
¶ When personal computers were first introduced, most of them came equipped with a simple programming language, usually a variant of BASIC. Interacting with the computer was closely integrated with this language, and thus every computer-user, whether he wanted to or not, would get a taste of it. Now that computers have become plentiful and cheap, typical users don't get much further than clicking things with a mouse. For most people, this works very well. But for those of us with a natural inclination towards technological tinkering, the removal of programming from every-day computer use presents something of a barrier. ¶ Fortunately, as an effect of developments in the World Wide Web, it so happens that every computer equipped with a modern web-browser also has an environment for programming JavaScript. ¶ That is what this (hyper-)book tries to do. I do not enlighten those who are not eager to learn, nor arouse those who are not anxious to give an explanation themselves.