Archiv für den Monat Januar 2014

10 Programming Languages You Should Learn in 2014

10 Programming Languages You Should Learn in 2014

Purina-hackathon-89
Image: Mashable, Nina Frazier Hansen
Headshots-18

By Rebecca Hiscott

The tech sector is booming. If you’ve used a smartphone or logged on to a computer at least once in the last few years, you’ve probably noticed this.

As a result, coding skills are in high demand, with programming jobs paying significantly more than the average position. Even beyond the tech world, an understanding of at least one programming language makes an impressive addition to any resumé.

The in-vogue languages vary by employment sector. Financial and enterprise systems need to perform complicated functions and remain highly organized, requiring languages like Java and C#. Media- and design-related webpages and software will require dynamic, versatile and functional languages with minimal code, such as Ruby, PHP, JavaScript and Objective-C.

With some help from Lynda.com, we’ve compiled a list of 10 of the most sought-after programming languages to get you up to speed.

1. Java

Java

Image: Mashable composite. Image: Wikimedia Commons

What it is: Java is a class-based, object-oriented programming language developed by Sun Microsystems in the 1990s. It’s one of the most in-demand programming languages, a standard for enterprise software, web-based content, games and mobile apps, as well as the Android operating system. Java is designed to work across multiple software platforms, meaning a program written on Mac OS X, for example, could also run on Windows.

Where to learn it: Udemy, Lynda.com, Oracle.com, LearnJavaOnline.org.

2. C Language

C Language

Image: Mashable composite. Image: Wikimedia Commons

What it is: A general-purpose, imperative programming language developed in the early ’70s, C is the oldest and most widely used language, providing the building blocks for other popular languages, such as C#, Java, JavaScript and Python. C is mostly used for implementing operating systems and embedded applications.

Because it provides the foundation for many other languages, it is advisable to learn C (and C++) before moving on to others.

Where to learn it: Learn-C, Introduction To Programming, Lynda.com, CProgramming.com, Learn C The Hard Way.

3. C++

C Plus Plus

Image: Mashable composite. Image: Wikimedia Commons

What it is: C++ is an intermediate-level language with object-oriented programming features, originally designed to enhance the C language. C++ powers major software like Firefox, Winamp and Adobe programs. It’s used to develop systems software, application software, high-performance server and client applications and video games.

Where to learn it: Udemy, Lynda.com, CPlusPlus.com, LearnCpp.com, CProgramming.com.

4. C#

C Sharp

Image: Mashable composite. Image: Wikimedia commons

What it is: Pronounced „C-sharp,“ C# is a multi-paradigm language developed by Microsoft as part of its .NET initiative. Combining principles from C and C++, C# is a general-purpose language used to develop software for Microsoft and Windows platforms.

Where to learn it: Udemy, Lynda.com, Microsoft Virtual Academy, TutorialsPoint.com.

5. Objective-C

Objective-C

Image: Mashable composite. Image: Wikimedia Commons

What it is: Objective-C is a general-purpose, object-oriented programming language used by the Apple operating system. It powers Apple’s OS X and iOS, as well as its APIs, and can be used to create iPhone apps, which has generated a huge demand for this once-outmoded programming language.

Where to learn it: Udemy, Lynda.com, Mac Developer Library, Cocoa Dev Central, Mobile Tuts+.

6. PHP

PHP

Image: Mashable composite. Image: Wikimedia Commons

What it is: PHP (Hypertext Processor) is a free, server-side scripting language designed for dynamic websites and app development. It can be directly embedded into an HTML source document rather than an external file, which has made it a popular programming language for web developers. PHP powers more than 200 million websites, including WordPress, Digg and Facebook.

Where to learn it: Udemy, Codecademy, Lynda.com, Treehouse, Zend Developer Zone, PHP.net.

7. Python

Python

Image: Mashable composite. Image: Wikimedia Commons

What it is: Python is a high-level, server-side scripting language for websites and mobile apps. It’s considered a fairly easy language for beginners due to its readability and compact syntax, meaning developers can use fewer lines of code to express a concept than they would in other languages. It powers the web apps for Instagram, Pinterest and Rdio through its associated web framework, Django, and is used by Google, Yahoo! and NASA.

Where to learn it: Udemy, Codecademy, Lynda.com, LearnPython.org, Python.org.

8. Ruby

Ruby

Image: Mashable composite. Image: Wikimedia Commons

What it is: A dynamic, object-oriented scripting language for developing websites and mobile apps, Ruby was designed to be simple and easy to write. It powers the Ruby on Rails (or Rails) framework, which is used on Scribd, GitHub, Groupon and Shopify. Like Python, Ruby is considered a fairly user-friendly language for beginners.

Where to learn it: Codecademy, Code School, TryRuby.org, RubyMonk.

9. JavaScript

JavaScript

Image: Mashable composite. Image: Wikimedia Commons

What it is: JavaScript is a client and server-side scripting language developed by Netscape that derives much of its syntax from C. It can be used across multiple web browsers and is considered essential for developing interactive or animated web functions. It is also used in game development and writing desktop applications. JavaScript interpreters are embedded in Google’s Chrome extensions, Apple’s Safari extensions, Adobe Acrobat and Reader, and Adobe’s Creative Suite.

Where to learn it: Codecademy, Lynda.com, Code School, Treehouse, Learn-JS.org.

10. SQL

SQL

What it is: Structured Query Language (SQL) is a special-purpose language for managing data in relational database management systems. It is most commonly used for its „Query“ function, which searches informational databases. SQL was standardized by the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO) in the 1980s.

Where to learn it: Lynda.com, SQLCourse.com, TutorialsPoint.com, SQLZoo.net.

Source. http://mashable.com/2014/01/21/learn-programming-languages

BMW demonstriert hochautomatisiertes Fahren

BMW arbeitet an Fahrzeugen, die ohne Eingriffe des Fahrers ihr Ziel erreichen.

Wieweit BMW derzeit mit seinem „hochautomatisierten“ Fahren ist, konnten wir in einem Testfahrzeug nördlich von München ausprobieren: Unser BMW fuhr nicht nur selbstständig gerade aus, sondern überholte auch wie von Geisterhand. Wir zeigen die Testfahrt im Video und beantworten im Interview mit einem BMW-Experten die wichtigsten Fragen rund um das „automatisierte Fahren.

Im November 2013 rückte PC-WELT mit der Video-Kamera im BMW-Forschungszentrum im Nordwesten von München an: Wir filmten eine längere Ausfahrt mit einem hochautomatisiertem Testwagen, der vollgestopft mit Umgebungserfassungssensoren und leistungsfähigen Rechnern eine vorgegebene Route über die A9 und die A92 zum Münchner Flughafen und zurück fuhr. Michael Aeberhard, Teilprojektleiter Hochautomatisiertes Fahren bei der BMW Group Forschung und Technik, saß hinter dem Steuer des 5er BMW – und machte während der Fahrt mit Tempo 120 lange Zeit nichts. Wobei: Ein paar Mal musste Aeberhard doch eingreifen, aber dazu später.

Nach unserer Rückkehr am BMW-Forschungszentrum beantwortete uns Dr. Werner Huber, Leiter Fahrerassistenz und Perzeption bei der BMW Group Forschung und Technik, die wichtigsten Fragen zu technischen und juristischen Details rund um das Thema automatisiertes Fahren.

BMW zeigt selbstfahrendes Auto – Video Zum Video

Begriffsdefinition: Assistiertes, teilautomatisiertes, hochautomatisiertes und vollautomatisiertes Fahren

Was bedeutet hochautomatisiertes Fahren eigentlich? BMW unterscheidet hierzu zwischen fünf verschiedenen Stufen des Fahrens:

a) Der Fahrer fährt komplett selbstständig und ohne nennenswerte Technik-Eingriffe

b) Der Fahrer fährt selbstständig, wird aber durch Fahr- und Sicherheitsassistenten unterstützt. Hier sind ACC, Totwinkelassistent und Spurhalteassistent sowie zunehmend auch Notbrems-Assistenten als typische Beispiele zu nennen. Dieses so genannte assistierte Fahren war lange Zeit hochpreisigen Fahrzeugen aus der Kategorie 5er/7er BMW, Audi A6 oder Mercedes-Benz E- und S-Klasse vorbehalten, findet aber mittlerweile auch immer größere Verbreitung in preiswerten PKWs wie beispielsweise dem Golf VII oder dem neuen Mazda 3.

c) Der Fahrer fährt teilautomatisiert mit deutlichen Eingriffen der Technik. Ein typisches Beispiel ist die Stop-and-Go-Funktion für Staus auf der Autobahn. Doch immer noch muss der Fahrer die Hände am Lenkrad haben und das Fahrzeug führen. Diese Technik hält nun so langsam Einzug in die Autos, BMW beispielsweise führt sie Ende 2013 als kostenpflichtige Option ein. Die neue S-Klasse bietet ebenfalls Stop-and-Go.

d) Das hochautomatisierte Fahren: Hier fährt das Fahrzeug bis zu einem bestimmten Grad selbstständig, man muss ihm nur noch die Geschwindigkeit und das Ziel vorgeben. Der Fahrer kann die Hände vom Lenkrad nehmen und beispielsweise auf dem Bildschirm im Armaturenbrett seine Mails checken. Er muss aber innerhalb eines vorgegebenen Zeitraums auf ein Warnzeichen des PKWs hin jederzeit und sofort eingreifen können. Der Fahrer kontrolliert also immer noch das Fahrzeug. Das demonstrierte uns BMW erstmals am 6. Juni 2013 auf der A9 nördlich von München im durchaus dichten Verkehr. In unserem heutigen Video dreht sich alles um dieses hochautomatisierte Fahren. BMW rechnet damit, diese Technologie um das Jahr 2020 herum serienreif anbieten zu können.

e) Das vollautomatisierte Fahren: Hier kann der Fahrer im Prinzip auf der Rücksitzbank bequem sich hinlegen und etwas schlafen. Er muss seinen PKW nicht mehr überwachen. Das ist aber noch völlige Zukunftsmusik, daran ist derzeit nicht zu denken.

Ausfahrt mit einem hochautomatisiertem BMW 5er auf der Autobahn

Am 28. November 2013 zeigte uns BMW den aktuellen Stand beim hochautomatisierten Fahren. Dazu fuhren wir in einem Testfahrzeug vom BMW Forschungszentrum in München aus auf der dreispurigen Autobahn A9 zunächst Richtung Norden und dann weiter Richtung Franz-Josef-Strauß-Flughafen auf der A92.

Unser Testfahrzeug wurde von unserem Fahrer Michael Aeberhard durch den Münchner Stadtverkehr auf die Autobahn gesteuert. Insofern war bis zum Erreichen der rechten Autobahnspur alles wie bei einem normalen Auto. Das Fahrzeug benötigte einige Sekunden, bis es seine Position korrekt auf dem Überwachungs-Bildschirm anzeigte. Der Fahrer stellte im Tempomat die gewünschte Geschwindigkeit (um die 120 Stundenkilometer) und im Navigationsgerät das Ziel, nämlich Richtung Norden, ein. Und nahm dann die Hände vom Lenkrad.

Aeberhard hatte während der Fahrt reichlich Zeit um uns technische Details des Testwagens zu erklären – weil der 5er tatsächlich die meiste Zeit ohne Lenk- oder Bremseingriffe des Fahrers fuhr. Konkret heißt das: Aeberhard hatte seine beiden Hände NICHT am Lenkrad und seinen rechten Fuß weder auf dem Gas- noch auf dem Bremspedal. Unser BMW fuhr aber keinswegs stur auf der rechten Spur einfach nur geradeaus, sondern wechselte selbstständig die Spur, um langsamer fahrend Fahrzeuge, beispielsweise LKWs, zu überholen. Nach dem Überholvorgang scherte unser Testwagen dann wieder selbstständig nach rechts ein.

Computer setzt den Blinker

Der BMW zeigte ein sehr defensives Fahrverhalten. So wurde er aus Gründen der Verkehrssicherheit eben programmiert. Ein menschlicher Fahrer hätte sicherlich schneller überholt und auch kleinere Lücken im vorbei fließenden Verkehr für Überholmanöver ausgenutzt. Unser BMW ging es dagegen gemütlich an und setzte erst dann links zum Überholen eines vor uns fahrenden LKWs an, als die Lücke zwischen zwei PKWs auf der mittleren Spur wirklich sehr groß war. Der Überholvorgang erfolgte jedoch völlig selbstständig: Der Testwagen setzte den linken Blinker und zog dann nach links auf die mittlere der drei Fahrspuren auf der A9. Nachdem wir an dem LKW vorbei gezogen waren, scherte der Testwagen wieder selbstständig auf die rechte Fahrspur ein. Das machte er mehrmals während der Testfahrt.

Rechts der Überwachungsbildschirm

Rechts der Überwachungsbildschirm
© BMW

Auf dem Kontrollbildschirm sahen wir ständig blaue Rechtecke, die PKWs und LKWs um uns herum symbolisierten. Dabei wurden auch Fahrzeuge angezeigt, die sich auf Parkplätzen befanden, an denen wir vorbei fuhren. Der vorne am BMW angebrachte Laser konnte sogar einige PKWs erfassen, die vor einem LKW fuhren, der wiederum direkt vor uns fuhr. Wir konnten also mit Hilfe des Lasers sozusagen durch den LKW durchschauen und sahen auf dem Kontrollbildschirm Autos, die wir mit bloßem Auge überhaupt nicht sehen konnten. Das lag daran, dass der Laser, der wie gesagt relativ tief am vorderen Stoßfänger des Testwagens angebracht war, unter dem vor uns fahrenden LKW „durchblicken“ konnte und damit das vor dem relativ hoch gebauten LKW fahrende Auto noch erfassen konnte.

Ohne Zweifel war es beeindruckend zu sehen, wie das Auto wie von Geisterhand selbstständig überholt und wieder einschert. Der Fahrer muss das Ganze aber immer überwachen und auf ein Warnsignal hin jederzeit eingreifen können. Man kann also nicht während der Fahrt ein Nickerchen, sondern muss auf dem Fahrersitz bleiben. Nur müssen eben die Hände nicht mehr am Lenkrad sein und man muss nicht mehr die Fußpedale bedienen.

Der Kontrollbildschirm vor dem Beifahrerplatz

Der Kontrollbildschirm vor dem Beifahrerplatz. In den Ecken links und rechts oben sieht man die Bilder von der Front- und von der Heckkamera unseres Testwagens. In der Mitte des Bildschirms ist die Autobahn mit den Fahrzeugen darauf abgebildet. Und wir mitten drin.

Ein paar Mal musste Aeberhard tatsächlich eingreifen. Beispielsweise als wir vor dem Autobahnkreuz von der A9 auf die A92 wechselten. Das hätte das hochautomatisierte Fahrzeug zwar grundsätzlich auch selbst geschafft, doch gerade in diesem Moment verhinderte ein rechts neben uns fahrender LKW den Spurwechsel – hier war menschliches Eingriffen einfach nötig.

In einem anderen Fall fuhren wir rechts und ein LKW links von uns wollte auf unsere Spur wechseln, um von der Autobahn abfahren zu können. Da unser Testwagen den Abbiegewunsch des LKWs nicht erkennen konnte und mit stoischer Ruhe einfach weiterfuhr ohne den LKW einscheren zu lassen, entschloss sich unser Fahrer doch zum Eingreifen und bremste den BMW ab – im Zweifelsfall haben 40 Tonnen eben doch mehr Überzeugungskraft als 1,7 Tonnen…

Doch insgesamt verlief die Fahrt im hochautomatisiertem Fahren beeindruckend souverän. Die Zukunft kann kommen. Was bis dahin aber noch passieren muss (technisch und rechtlich), wie der aktuelle Stand der Entwicklung ist und wann Sie das erste hochautomatisierte Fahrzeug kaufen können – das alles erfahren Sie im obigen Video.

Fahrzeugausstattung

Unser Testfahrzeug mit Automatik-Getriebe war rundherum mit Sensoren bestückt, mit denen es seine Umgebung wahrnimmt. Zusätzlich zu den von den bereits erhältlichen Sicherheitsassistenten bekannten Sensoren wie Radar, Ultraschall, Surround-View-Kameras sowie der Kamera hinter der Windschutzscheibe für den Spurverlassenswarner waren weitere Lasersensoren sowie Kameras eingebaut. Vorne, seitlich und hinten. Im Fahrzeug befand sich vor dem Beifahrersitz ein zusätzlicher Bildschirm, auf dem durchgehend die Position des Testfahrzeugs und die Lage aller erkannten anderen Fahrzeuge um uns herum angezeigt wurde.

Damit die Überwachungsrechner die genaue Position des Testwagens ermitteln können, sind GPS-Sender auf ihm befestigt. Das verwendete GPS-Signal wird noch zusätzlich verbessert, um die für GPS typischen Abweichungen heraus zu filtern und die Positionsbestimmung zentimetergenau zu machen.

Der Rechner steht im Kofferraum – und C++ ist auch mit von der Partie

Alle gesammelten Daten werden derzeit von einem mehr oder weniger handelsüblichen PC ausgewertet, der zusammen mit einem UMTS-Router im Kofferraum des Testwagens verbaut ist. Diesen Rechner können die Ingenieure direkt vom Fahrer- und Beifahrersitz aus bedienen, eine PC-Tastatur befindet sich hierzu vorne im Wagen und der kleine Monitor vor dem Beifahrersitz dient dann als PC-Bildschirm. Die Entwicklungsumgebung Visual Studio ist auf dem Rechner ebenfalls installiert, die Test-Ingenieure können also während der Fahrt sofort den Quellcode der Steuerungssoftware für das hochautomatisierte Fahren umprogrammieren (der Code wird übrigens mit dem bewährten Klassiker C++ geschrieben).

Straßenzulassung der Testfahrzeuge

Wieso darf BMW überhaupt Autos auf deutschen Autobahnen fahren lassen, bei denen der Fahrer die Hände vom Lenkrad nehmen darf? Diese Frage stellten wir Stefanie Schindler von der Forschungskommunikation von BMW. Die Antwort: „Alle unsere Forschungsfahrzeuge (egal, ob hochautomatisiert oder teilautomatisiert) haben eine spezielle Zulassung als Werkstestwagen/Versuchsfahrzeug. Diese Zulassung berechtigt uns dazu, so oft wie nötig mit unseren Versuchsfahrzeugen (auch mit unseren hochautomatisiert fahrenden Testfahrzeugen) auf der Autobahn zu fahren. Es muss jedoch stets ein geschulter Testfahrer den Wagen begleiten.“

Marktreife

BMW rechnet derzeit damit, so ein hochautomatisiertes Fahrzeug in zirka zehn Jahren anbieten zu können (bereits im Jahr 2011 fuhr ein Versuchsfahrzeug der BMW Group Forschung und Technik ohne Fahrereingriff auf der mehrspurigen Autobahn A9 von München in Richtung Nürnberg). Damit dieses Ziel erreicht werden kann, müssen nicht nur noch viele technische Hürden genommen werden (nur ein Beispiel: Wie erkennt der Wagen selbstständig eine Autobahn-Baustelle mit den vielen durchgestrichenen Fahrbahnlinien und verhält sich dort richtig?), sondern es muss auch noch die Rechtslage geklärt werden. Denn BMW will nicht haften, wenn ein Fahrer mit einem hochautomatisierten PKW selbstverschuldet einen Unfall baut. Wie uns BMW bestätigte, gebe es durchaus intensive Verhandlungen unter den Rechtsexperten und den zuständigen Behörden. Und die KFZ-Versicherer werden hier sicherlich auch noch ein gewichtiges Wort mitreden wollen.

Quelle: Artikel aus PCWelt, 21.01.2014 http://www.pcwelt.de/news/BMW_demonstriert_hochautomatisiertes_Fahren_-Haende_vom_Lenkrad-7942384.html

BMW hits the performance limits with its driverless car

At a racetrack north of Las Vegas during CES 2014, BMW took me for a wild couple of laps at high speed, with no driver.

LAS VEGAS — When you think about autonomous cars, it is often in reference to the sensor technology making the car aware of objects and other vehicles around it. Here at CES 2014, BMW showed off another technology key to making autonomous cars a reality, the systems needed to steer, accelerate, and brake.

And BMW demonstrated it on a racetrack with a 6 Series tackling a wet corner, a slalom, and s-turns at serious speed.

In fact, the 6 Series went as fast as its computer said it could without losing grip. I sat in the passenger seat while a BMW staffer sat in the driver’s seat. He kept his hands off the wheel and feet off the pedals as the car roared toward the turns, hit the brakes, and swung the wheel over.

BMW Highly Automated Driving
This BMW 6 Series manages to automatically counter-turn to avoid a spinout in the wet.(Credit: BMW)

The most amazing part of the demonstration was the wet corner. To show the system’s car control, BMW turned off the vehicle stability systems. As the car hit the wet, it lost grip and went into a sideways slide. The system counter-steered to prevent the car from doing a 180, keeping the slide under control until the car was back on dry pavement.

BMW Highly Automated Driving
BMW added these highly accurate GPS antennas to the car for this demonstration.(Credit: Wayne Cunningham/CNET)

It may seem like cheating that, for this demonstration, BMW programmed the car’s route in through GPS, which gave it the path around the track. But all the car control was handled by automated systems using sensors and an accelerometer to see how close the car was to losing grip, and braking or steering to maintain its path.

Werner Huber of BMW described how the system in the car was made up of a Lateral Control Unit and a Longitudinal Control Unit, each handling and interpreting their respective vectors of motion in the car. These components will be essential to a future fully autonomous vehicle.

In BMW’s conception, the autonomous car could handle high-speed driving situations or unexpected low-traction surfaces.

Huber said that, before the introduction of a fully autonomous vehicle, BMW would use this type of research to add features under what it calls Highly Automated Driving. Throwing out a few ideas, Huber suggested that BMW could launch an Intersection Assist, which would contribute to safety when crossing intersections, an Evasion Assist, which would help the car steering around objects or stalled cars, and a Lateral Control Assist, a type of technology that could complement or even replace vehicle stability control systems.

Of course, all these future systems would need a complement of sensors to help the car recognize objects and other vehicles, but BMW certainly seems to have gotten its car control systems right.

Quelle: http://ces.cnet.com/8301-35289_1-57616748/bmw-hits-the-performance-limits-with-its-driverless-car/