Warum Java die Zielsprache war, hasse ich

Einführung

Katzen schreiben C # als ihre Lieblingssprache und Java als ihre unbeliebte Sprache in ihr Profil. Abgesehen davon habe ich keinen wirklichen Anhang zu Microsoft. Bevor er C # berührte, litt er unter den Schmerzen von C-Sprachzeigern, hasste Java, wo er aus folgenden Gründen entkam, und war von Delphi beeindruckt, so dass er diese Sprache mochte. Dies kann einer der Gründe sein. Es gibt viele erfahrene Programmierer in dieser Qiita, also denke ich, dass es einige gibt, die mit mir gehen und einige, die mich hassen, also werde ich den Grund aufschreiben, warum ich es nicht mochte.

Ich habe Schwierigkeiten mit der Grundoperation des Byte-Arrays

Es ist eine Datenzeichenfolge, in der eine Anzahl von 1-Byte- (8-Bit-) Daten in einem Byte-Array angeordnet sind. Bytes verarbeiten normalerweise Zahlen von 0 bis 255. Es überrascht nicht, dass die meisten Sprachen, einschließlich C, problemlos mit Byte-Arrays umgehen können ... (meistens erfahrene Sprachen).

unsigned char color[3];

Oder

byte[] color = new byte[3];

Oder

$color = [ 255, 255, 255 ]; // (Hmm? Ich fühle etwas anderes

Oder der Schreibstil kann sich ändern. Sie können jedoch ein Array erstellen, das 0-255 ordnungsgemäß verarbeitet.

In der Sprache, die ich hasste, wie in der C # -Sprache

byte[] color = { 126, 127, 235 };

Aber ich bekomme nicht die erwarteten Ergebnisse in Java. Java kann keine vorzeichenlosen Typen definieren (allgemein als vorzeichenlose Typen bezeichnet). Ich habe gehört, dass ich eine Klasse oder Short oder Int verwenden muss, daher habe ich große Probleme mit der Konvertierung und möchte sie nicht verwenden! Ich dachte. Neuere Java ist jedoch wahrscheinlich möglich! Es kann eine Reaktion geben. Ich habe das seit mehr als 10 Jahren nicht mehr angefasst. Was ist damit?

Das ist einer der Gründe, warum ich es hasste. (Noch da ...)

Hierarchie + Klasse = Datei

Grundsätzlich kann nur eine Klasse in einer Datei definiert werden. Ich glaube, ich hätte Unterklassen-ähnliche Dinge einbauen können, aber es gab nur eine. Wenn Sie eine Klasse erstellen, erhöht sich die Anzahl der Dateien. Egal, ob Sie eine Klasse erstellen möchten, die nur eine Schnittstelle ist, die nichts tut, oder eine Prototypklasse ... Dateimassenproduktion. Und es war ein Schmerz, weil auch die Hierarchie betroffen war (* vor 10 Jahren). Ich frage mich, ob es immer noch so ist ...

Installation und IDE sind schmerzhaft

Zu dieser Zeit verwendete ich Eclipse für die Entwicklung. Es ist vielleicht kein Mainstream mehr, aber es tötet auch Windows und stirbt jedes Mal, wenn es kompiliert wird. Die Belästigung, die Sie nur auf der Konsole dazu auffordert. Vorher habe ich das Gefühl, tot zu sein, als ich das JDK einsetzte ...

Ungefähr zu dieser Zeit wurde Microsoft .NET Framework 1.0 veröffentlicht, und ich habe es gleichzeitig berührt, aber als Ergebnis kam ich zu dem Schluss, dass VS das stärkste ist, und schließlich begann ich mit C # WindowsForm zu spielen, ohne Java zu verwenden, und so wie es ist Delphis Windows App-Entwicklung Wenn Sie die Sprache selbst genießen würden, während Sie in einem zu einfachen Stil, PHP, D-Sprache usw. herumwandern, würden Sie Java mehrere Jahre lang nicht verwenden.

Java auf Android

Ich habe vor ein paar Jahren Java bei der Arbeit verwendet. Ja, ich war wieder verärgert über das Byte-Array und weil ich noch kein Android Studio hatte, weinte ich bei Eclipse und hasste es schließlich ...

Zusammenfassung

Eine Java-Sprache, die von Oracle erworben, bezahlt und beeinflusst wurde. Und zu C #, das sich durch die Einbeziehung der guten Punkte verschiedener Sprachen entwickelt ... Java, das eine Sprachspezifikation hat, die ich nicht gut verstehe, um aufzuholen. Wenn Sie aufgefordert werden, native Entwicklung unter Android durchzuführen, drücken Sie Kotlin oder Xamarin (C #). Java war bereits voll, weshalb ich es hasste.

Recommended Posts

Warum Java die Zielsprache war, hasse ich
[Java] Ich habe versucht, die Kombination zu implementieren.
Ich habe den Konstruktor (Java) studiert.
Ich habe das Java-Framework "Quarkus" ausprobiert.
Java9 war enthalten, also habe ich jshell ausprobiert.
Ich habe das neue Yuan-Problem in Java ausprobiert
[Tag: 5] Ich habe die Grundlagen von Java zusammengefasst
Ich war süchtig nach der Rollmethode
[Java] Ich habe die grundlegende Grammatik persönlich zusammengefasst.
Ich war süchtig nach dem Spring-Batch-Test
Ich ging zum Java Women's Club # 1
Warum war das Lesen des Codes schmerzhaft?
Ich habe die Eigenschaften von Java und .NET verglichen
Probieren Sie Progate Free Edition [Java I]
Der Teil, dem ich in "Einführung in Ajax in Java-Webanwendungen" von NetBeans verfallen war
Ich war süchtig nach NoSuchMethodError in Cloud-Endpunkten
[Java] Ich möchte die Differenz zum Datum berechnen
Ich war süchtig nach der Aufzeichnung des zugehörigen Modells
Ich konnte es nach dem Upgrade der Java-Version nicht ausführen
[Ruby] Missverständnis, dass ich das Modul verwendet habe [Anfänger]
Ich habe die Typen und Grundlagen von Java-Ausnahmen zusammengefasst
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
Die mysteriöse java.exe war die Ursache für die Unfähigkeit, Java- und Java-Versionen immer wieder abzugleichen.