Einzelnen Beitrag anzeigen
#9
Alt 19.01.09, 17:48:31
blue
Benutzerbild von blue
Big Daddy
Registriert seit: 02.02.03
Alter: 37
Geschlecht: ♂
Beiträge: 4.974
IRC Zeilen: 10670
Quizrunden gewonnen: 3

Spenden-Award Spenden-Award Silberne Postauszeichnung Bronzener Topposter Blecherner Postaward Core-Award 

blue eine Nachricht über ICQ schicken
Wie Zeiger funktionieren braucht man in Java nicht zu wissen weil es da keine Zeiger gibt. Sondern nur Referenzen. Referenzen sind quasi ein Zeiger auf ein Objekt/Variable, während eine Zeiger ein Zeiger auf eine Speicherstelle ist. Das hört sich zunächst kompliziert an wenn man mal darüber nachdenkt ist das aber auch ein ziemlich simples Konzept. Vielfach verpönt unf gefürchtet und ein großes Gesprchsthema sind Zeiger immer deswegen weil man mit ihnen so gefährliche Sachen machen kann. Zeiger sind ein Mittel um irgendwohin ganz nach belieben irgendwas in den Speicher zu schreiben, ohna das das Programm oder der Prozessor das wirklich überprüfen würde ob da überhaupt noch Speicher frei ist oder ob da schon was steht oder ähnliche Konflikte auftreten.
Mit Zeigern kann man heutzutage nichts mehr böses anstellen. Seit Linux 2.4. und Windows Vista besitzen die meisten User-Betriebssysteme effiziente Speicherschutzmechanismen. Sobald man auf Speicherstellen zugreift, die nicht zulässig sind, wird die Applikation mit einem Fehler gekillt.

Zum Thema "Ein neues BS wird doch kaum noch einer entwickeln können" kann man sich zb Googles neuen Browser Chrome angucken. Browser gibt es ja auch schon ein paar Tage und Chrome revolutioniert die bestehenden Browser in ein paar Aspekten. Die Aspekte und Ideen die Chrome dabei verwendet (zb ein eigener Thread für jeden Tab) sind aber auch nichts wirklich neues. Aber Chrome zeigt, das es durchaus noch möglich ist schon bestehendes Wissen zu neuen Ansätzen zu kombinieren. Oftmals sind das neue Kombinationen die früher noch nciht möglich waren weil die Rechner oder dass Inet dafür noch zu langsam waren.
Absolut kein Vergleich. Das wirklich interessante an einem Browser ist die Rendering Engine, die beim Chrome auf das Open-Source Projekt WebKit basiert. (Ebenso der Safari basiert darauf). Das einzig interessante am Chrome Browser ist der JavaScript Interpreter, der aber mittlerweile auch nicht mehr wirklich so revolutionär ist, da u.a. der Opera in manchen Bereichen sogar noch schneller ist.
Im Vergleich dazu darf man sich bei Betriebssystemen mit Hardware Interrupts, Speicher-, Prozessverwaltung, Speicherschutz, Modulen/Treibern, Netzwerken .. sogar der allgemeinen Architektur rumschlagen.


Ok, also was ich so ungefähr sagen wollte ist, dass ich nicht finde das es so ist das die Informatik immer unverständlicher werden würde. Im Gegenteil, es verändert sich an den Konzepten fast nie was weil sich schon genügend schlaue Köpfe damit befasst haben und die Datenverarbeitung schon ziemlich durchgekaut. Schaut man sich verschiedene Programmiersprachen, Betriebssysteme und ähnliches an wird man vielfach immer wieder auf die gleichen Dinge in unterschiedlicher Ausführung und Kombination stoßen.
Es geht nicht um die Konzepte, es geht einfach darum, dass man heutzutage nicht mehr auf dem ersten Blick sieht, was APIs oder gar Programmiersprachen (Stichwort Java, .NET) wirklich machen.
Man betrachte einfach mal den Datentypen 'String'. Unter C gibt es diesen Datentyp nicht einmal, man muss auf Character-Arrays zurückgreifen und wenn man nicht auf den 'String' verzichten will, der muss ihn sich selbst entwickeln. Dies ist aber erst gar nicht möglich ohne Zeiger und dynamischer Speicherallozierung.
Programmieren, wie man es aus C/C++ kennt, ist also in Java/.NET erst gar nicht mehr möglich. Man bekommt dort einfach irgendeine extrem umfangreiche API, die man nutzt. Was aber unter der Haube steckt - ist völlig undurchsichtig. Davon ab, ich will nicht sagen, dass programmieren mit Java nicht komfortabel ist! Aber wir haben bei uns welche im Semester, die eine Java Hashtable nutzen und nicht einmal wissen, was überhaupt eine Hashtable ist.

C++ ist böse
Die Unterschiede [der Programmiersprachen] sind enorm: Während Programme wie die Schreibsoftware Microsoft Word mit HTML programmiert wurden, greifen die Entwickler von Metzel-Games oft zu der Hacker-Programmiersprache C++. Wie gefährlich diese Sprache für Jugendliche ist, zeigte sich erst im September 2009, als der schülerVZ-Hacker Matthias L. vor seinem Selbstmord einen Abschiedsbrief verfaßte – in C++.