03 Nov

GMane.Comp.Version-Control.Git – Linus Torvalds on C and C++

On Wed, 5 Sep 2007, Dmitry Kakurin wrote:
> When I first looked at Git source code two things struck me as odd:
> 1. Pure C as opposed to C++. No idea why. Please don’t talk about portability,
> it’s BS.

*YOU* are full of bullshit.

C++ is a horrible language. It’s made more horrible by the fact that a lot of substandard programmers use it, to the point where it’s much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C.

via GMane.Comp.Version-Control.Git – Linus Torvalds on C and C++. Programmers are an opinionated bunch.

02 Jan

Why Java Is Not As Fast As C

Thanks to Hacker News for the link to a mailing list on Java Git vs. pure C Git:

So. Yes, its practical to build Git in a higher level language, but you just can’t get the same performance, or tight memory utilization, that C Git gets. That’s what that higher level language abstraction costs you. But, JGit performs reasonably well; well enough that we use internally at Google as a git server.

I’ll add that while I understand and realize that PHP is a slower language than others the time to build an application for me is more important most often than the computation time of the program. In the same sense that even Google recognizes that JGit is slower then C Git, it’s not enough of a difference to matter, most often the speed difference doesn’t really matter when it’s so easy and cheap to throw hardware at the problem.

25 Jun

Basic C# Networking Project

For a computer science class, Remoting and Networking with C#, we had a networking project to do that I thought I would put out to see if it helps anyone else looking for a basic networking project with .NET. The project can be found here. As usual the code is licensed with an MIT License, so do with it what you will.

The project has a client and a server app. The client plays a game of Tic-Tac-Toe, and as the game progresses sends messages back to the server via a TCP Stream of messages about the state of the game. These messages are then written to the console of the server. After the client exits the server shuts down.

Some possible future ideas, including making this a GUI application, including a compute based opponent and allowing two different clients to connect via the server and play against each other. All of these would be good ways for this project to move forward.

Hope you like the code.