Interested in the newest installment in the incredibly popular Rainbow Six series? Gear up and prepare to breach. Can Siege hold up to the price? Watch and find out.

seen from Malaysia
seen from Spain
seen from United States
seen from Netherlands
seen from United States
seen from Australia
seen from United States

seen from Maldives
seen from United States
seen from Yemen
seen from China
seen from China
seen from Netherlands
seen from United States
seen from Germany

seen from Australia
seen from Maldives
seen from United Arab Emirates
seen from United States

seen from United States
Interested in the newest installment in the incredibly popular Rainbow Six series? Gear up and prepare to breach. Can Siege hold up to the price? Watch and find out.
Go Programming
In the recent past, I heard about this new programming language from Google, calledĀ āGoā. Ā Being an avid Counter-Strike player, I was a little put off because Valve named the latest version of CS,Ā āGlobal Offensiveā, orĀ āGOā for short. Ā I couldn't possibly have two things namedĀ āGoā in my life, right?
Well I was wrong. Ā The Go programming language looks amazing. Ā Granted it is still young, but the potential for this language is immense. Ā Hereās the description of Go from their site:
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
They say a lot in that little summary. Ā Letās break it down a little:
The first claim they make is to Goās concurrency mechanisms. Ā In order to understand how big of a deal this really is, you need to understand how concurrency and multi-threaded applications work in a device with more than one processor. Ā Most applications out there have no performance benefits from running in a multi-core/multi-processor machine. Ā This is due to the fact that creating multi-threaded applications is so complex and difficult to do. Ā If you really donāt need to do multi-threading or concurrent processing, it is never worth the effort to build that into the application. Ā As a result, almost every single device or PC out there today has more than one processor, but almost none of the applications running on these devices can utilize that hardware.
Go is a modern language. Ā In modern times (such as these?) we shouldn't have such a barrier for creating multi-threaded applications. Ā Consumers want faster applications, and developers want their applications to be fast. Ā Granted, not every application needs to be multi-threaded. Ā If your application is linear in nature, adding concurrency can actually slow things down significantly. The engineers that built the Go language built concurrency into the language, and abstracted it away from the developer code. Ā This was a huge hurdle for them to overcome. Ā Itās a huge hurdle for anyone to overcome when trying to incorporate true concurrency into an application. Ā The software out there that has multi-threaded support today had to overcome these hurdles. Ā The team behind Go decided that they would do it once, for everyone, and build into the language itself. Ā Thank you team Go!Ā
Go also differs from many other languages by including the garbage collection process. Ā Those who are familiar with .NET languages such as C# will know exactly what garbage collection is and why it is important (and why you love and hate it). Ā In historical application development, the developer would have to manually control memory assignment. Ā This means that if you set a variable to a certain value, that value is stored in memory forever until you manually clean it up. Ā When you donāt clean up those values stored in memory, your application suffers from a memory leak. Ā Garbage collection works by keeping track of pointers to objects in memory. Ā When an object in memory is no longer referenced by some other object, the garbage collection process automatically removes that object from memory. Ā This does not mean that developers can simply ignore their resource usage, but it does help tremendously. Ā
While weāve brought up .NET languages, letās take it a step further. Ā Until very recently, .NET was a Microsoft technology that could onlyĀ āofficiallyā run on Windows devices. Ā Recently, Microsoft announced they would open source .NET, which will make it available to all platforms (as soon as the appropriate compilers are ready). Ā This is a great move by Microsoft and I applaud them for that. Ā The benefit of other languages over .NET has always been the cross-platform nature of them. Ā Applications written in C, C++, and Java can all be compiled and run on virtually any PC. Ā These languages are the standards for cross-platform development. Ā Go is also platform agnostic. Ā In addition, the traditional cross-platform languages are all very fast. Ā Initial testing of Go compilers show that Go can be close to as fast as the most mature C compilers. Ā There is a lot of room for Go compilers to mature, so I think the future is very promising from a performance standpoint.Ā
In conclusion, itās been a long time since Iāve been so excited about a language. Ā Itās been out for a little while now, and Iām concerned that the adoption has been too slow. Ā I would hate to see a beautiful and efficient language such as this go the way of the Dodo.
You can find the official Go language page at http://golang.org/.
GoCode 16.04.14
Der GoCode lautet: 10k
Der GoCode von dem fliegendem BonBon: Brille
From the README:
Gocode is a helper tool which is intended to be integraded with your source code editor, like vim and emacs. It provides several advanced capabilities, which currently includes:
Context-sensitive autocompletion
It is called daemon, because it uses client/server architecture for caching purposes. In particular, it makes autocompletions very fast. Typical autocompletion time with warm cache is 30ms, which is barely noticeable.
I believe you need to be on the latest weekly (cd $GOROOT && hg pull && hg update weekly) for this to work.