Wann kann man sagen "Ich kann z.B Java"?

6 Antworten

Ab wann "man" das sagen kann, kann ich nicht beantworten, dazu ist die Frage viel zu unpräzise.

Ich persönlich behaupte, dass ich eine Programmiersprache kann, wenn ich die Programme und Tools, die ich mir einbilde, in dieser Sprache programmieren kann. Und dabei rede ich nicht von irgendwelchem Konsolen-Taschenrechner-Gefrickel sondern z.B. von plattformübergreifenden Tabletop RPG-Tools zur Erstellung und Berechnung komplexer Städte inklusive Namensgeneratoren (nach Rasse und die wiederum anteilig pro Stadt per Region) mit ordentlicher GUI (da war das "plattformübergreifend" dann etwas knackig...) oder Utilities welche aufwendige Berechnungen in parallelen Threads durchführen und eine eigenen Threadverwaltung mit Threadpool haben.

Ich brauche auch dann nicht andere fragen "was soll ich denn programmieren?" Es ergibt sich von selbst, was zu programmieren ist, nämlich immer dann, wenn ich auf etwas stosse, von dem ich mir denke "dafür wäre jetzt ein Programm recht". Wenn ich dann das Programm schreibe und es auch fertig wird, dann "kann" ich die verwendete Programmiersprache.

Aber das ist lediglich meine ganz persönliche Meinung.

Woher ich das weiß:Berufserfahrung

Da "Ich kann Java" alles heißen kann, musst Du mitteilen, auf welchem Niveau Du in Java programmieren kannst, etwa einen track record (bereits erstellte Programme und weitere Erfahrungen).

Java hat mehrere Komponenten, insbesondere die Objektorientierung, welche neben dem Sandkastensystem (Compiler-Interpreter-Mischung) das eigentliche Konzept dieser Sprache ist, aber auch die Fülle an Bibliotheken.

Was beherrschst Du davon, welche Techniken kannst Du vorweisen? Insel 2 komplett mit Expertise? Welche Plattformen sind Dir vertraut (z.B. EE etc.). Es geht hier um das Konkrete, "kann Java" ist keine konkrete Beschreibung.

Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich
VinceJosh 
Fragesteller
 22.07.2021, 11:23

Ich habe das "Ich kann... " schon oft von anderen gehört, deswegen wollte ich halt fragen, ob es da einen bestimmten Punkt gibt, wo man das sagen kann. Aber anscheinend gibt es den nicht.

0
MrAmazing2  22.07.2021, 12:34
@VinceJosh

Wenn mich jemand fragt "Welche Programmiersprachen kannst du?", dann liste ich in der Regel alle auf, von denen ich mindestens die Basics kann.

Aber vlt. mach das auch nur ich so, aber ja :D

Wenn ich sage "keine", dann denkt derjenige ja womöglich, ich könne garnicht programmieren :D

1

Das "Ich kann Java" ist erstmal eine sehr unkonkrete Aussage. Das kann man schon sagen, wenn man ein "Hello World" in Java ohne Anleitung programmiert bekommt.

Die wichtigere Frage ist ja, wie gut man Java beherrscht und welche Erfahrung man damit bereits gesammelt hat. Da gibt es dann entsprechend Abstufungen.

Woher ich das weiß:eigene Erfahrung – Ich habe selber lange im PC gearbeitet
VinceJosh 
Fragesteller
 22.07.2021, 10:53

"Ich beherrsche Java" Kann man dazu was genaueres sagen?

0

"Kann Java" heißt alles mögliche.

Wenn jemand in einem Bewerbungsgespräch für sowas wie einen Senior Developer behauptet, Java zu "können" und jahrelange Erfahrung damit zu haben, gibt es eine Menge Themen die man sich dazu ansehen kann. Beispiele:

  • Wie funktionieren Generics in Java? Nicht nur wie man sie verwendet. Wie sind sie implementiert? Weiß der Kandidat, was "type erasure" bedeutet und welche Konsequenzen sie hat?
  • Dazu passend: Was sind Ko- und Kontravarianz, und wo spielt das praktisch eine Rolle?
  • Das ganze große Thema Concurrency. Was ist das Java Memory Model, und was spezifiziert es auf Basis welcher Prinzipien? Kann er/sie anhand von Codebeispielen erklären, ob der Code threadsicher ist oder nicht?
  • Wie funktioniert Garbage Collection? Wie löse ich Performanceprobleme in dem Zusammenhang; wie komme ich überhaupt drauf ob es ein Problem gibt? (Werkzeuge, Techniken...)
  • Kennt der Kandidat aktuellere Entwicklungen in Java? Angefangen beim eh schon alten NIO.2 über Lambdas und Streams bis hin zu neuerem Zeug wie Records.

Und das waren nur die Sprachelemente. Man kann nun allgemeiner werden im Sinne von OOP-Design (was heißt SOLID, was steckt dahinter, wie wäre es in Java anzuwenden?) oder sich je nach Anwendungsgebiet in gewisse Techniken und Libraries vertiefen (Monitoring, Datenbankanbindung, Webservices, GUIs, ...).

Naja, die Aussage ist sehr ungenau und kann so gut wie alles bedeuten. Deshalb würde ich konkrete Projekte die man in Java realisiert hat anführen.

Woher ich das weiß:Studium / Ausbildung – Informatikstudent