WinFuture-Forum.de: Welche "Sprache" unter all denen ? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Welche "Sprache" unter all denen ?


#1 Mitglied ist offline   SpookyLion 

  • Gruppe: Mitglieder
  • Beiträge: 6
  • Beigetreten: 31. Mai 16
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 31. Mai 2016 - 07:05

Moin Leute,

ich bin neu hier im Forum aber hoffe das es der richtige Platz ist diese Frage zu stellen.

Und zwar möchte ich gern das "richtige" Programmieren lernen, weiss aber absolut nicht welche Programmiersprache sich lohnt zu lernen.

Immer ein wenig darauf geschaut etwas für Android zu entwickeln würde sich Java anbieten, nun ist es aber ja so das man immer wieder hört das Java am aussterben ist, auch wenn noch viel damit für Android programmiert wird.

Aber auch C# soll ja schon für Android gehen und in hinblick darauf das die ganzen Geräte sich ja auch immer weiterentwickeln und immer mehr Leistung haben stellt sich nunmal die Frage ob sich Java noch lohnt.
Es ist ja auch so das man eine Programmiersprache nicht im vorbeigehen lernt und nach einem halben Jahr z.B. sagen kann ok dann lerne ich halt ne Andere :unsure:

Ich persönlich nur rein von den Sprachen her gesehen schwanke eben zwischen Java und C# aber was ist z.B. mit Visual Basic und den ganzen anderen Programmiersprachen, welche sind davon aktuel und was kann man damit alles so "anstellen".

Android Anwendungen und auch Desktop Anwendungen für Windows würde ich gern programmieren.

Etwas Erfahrung habe ich mit Webprogrammierung, also HTML, PHP und MySQL aber da liegt auch schon eine etwas größere Pause zwischen beruflich bedingt.

Danke schon jetzt für eure Hilfe.
0

Anzeige



#2 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.666
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 31. Mai 2016 - 09:50

Java ist bei Gott nicht am sterben, auch wenn ich persönlich es gerne unter der Erde sehen würde. Ich kann jedem derzeit, vor allem wenn er sich mit Appdevelopment beschäftigen will, C# nahelegen. Ist einfach zu lernen, die Tools die du brauchst sind alle Gratis (Visual Studio Community Edition, Universal Windows Platform, Xamarin) und du kannst mit einer App gleich mal 10 "Plattformen" abdecken (iOS Phone & Tablet, Android Phone & Tablet, Fire Phone & Tablet, Windows Desktop, Mobile, IoT + Xbox)
0

#3 Mitglied ist offline   SpookyLion 

  • Gruppe: Mitglieder
  • Beiträge: 6
  • Beigetreten: 31. Mai 16
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 31. Mai 2016 - 10:08

Warum würdest du Java gern unter der Erde sehen wenn ich fragen darf ??

Kannst du denn bestimmte Seiten oder Bücher vorschlagen die zum lernen von C# gut sind bzw.
die gut geschrieben sind, denn ganz ehrlich zöger ich auch mit Java, aber bei mir nur deswegen weil Java eben sehr viel "langsamer" ist als Programmiersprachen wie z.B. C#.

Das ist ein großer Punkt der mich bei Java recht doll stört.
0

#4 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 31. Mai 2016 - 10:20

Najaa... JAVA ist ein guter Start für OO-style Programmierung; das Ding ist so strikt reglementiert, daß wenn man JAVA kann, man alles andere als vergleichsweise einfach empfindet.

Allgemein würd ich sagen hängt es vom Einzelnen ab. Ich bin immer noch der Meinung, c-style regiert die Welt; also C/C++, JAVA und JScript, PHP und so weiter und so weiter. Aber, man ist ja nicht drauf beschränkt.

VIEL wichtiger als die ProgrammierSPRACHE ist aber der ANSATZ. Ich habe ein Problem: wie bilde ich dieses Problem auf dem Rechner ab? Ob man das dann in Batch macht oder in FORTRAN ist Jacke wie Bratpfanne.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
1

#5 Mitglied ist offline   SpookyLion 

  • Gruppe: Mitglieder
  • Beiträge: 6
  • Beigetreten: 31. Mai 16
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 31. Mai 2016 - 11:09

Vorrangig wollte ich halt Android Apps programmieren bzw. mich darin versuchen aber wenn ich mit der erlernten Sprache dann auch für Windows programmieren könnte ist es umso besser.

Also eine Plattformübergreifende Sprache wie Java es ja ist wäre schon super ;) nur erst Java lernen um dann eine andere Sprache zu lernen nur damit es einem vllt. einfacher vorkommt, naja ;)
0

#6 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.666
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 31. Mai 2016 - 15:47

Naja, da stellt sich mir mal die Frage: Volle Windows Programme oder Apps? Wenn du nämlich eh "nur" Windows Apps machen willst, schau dir gleich C#, UWP + Xamarin an, dann kannst du da schneller losstarten. Wenn es volle Programme sein sollen, ists egal ob du Java oder C# machst, das geht beides, wobei ich finde, dass C# Programme sich auf Windows einfach echter anfühlen.

Waurm ich Java unter der Erde sehen will? Ich mags einfach nicht, die Sprache selbst ist i.o. aber die Runtime ist fürn Hintern. Dazu kommen immer wieder Sicherheitslücken die mit neuen Sicherheitslücken gestopft werden.

So nebenbei:

public class Hello
{
    public static void main(String[] args) 
    {
        System.out.println("Hello World! ");
    }

}



using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("Hello World!");

         
        }
    }
}


Bsp #1 ist Java, #2 C#. Und auch wenn das die absolute Basis ist, im prinzip gehts genau so weiter, ein Unterschied (laut einem Professor damals im Studium) ist, dass du bei Java getter/setter funktionen machst, während das bei C# verpönt sei. Also sowas im sinne von

class Hello
{
    private string var;
    public function setVar(string value)
    {
        this->var = value;
    }
    public function getVar()
    {
        return this->var;
    }
}



ist angeblich gaaaaanz böse - hat mich damals ne Note gekostet -.-' (ich hoff dass das so passt, bin derzeit stark von PHP beeinflusst)
0

#7 Mitglied ist offline   SpookyLion 

  • Gruppe: Mitglieder
  • Beiträge: 6
  • Beigetreten: 31. Mai 16
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 31. Mai 2016 - 17:31

Danke euch für die Antworten, denke ich werde mich dann an C# mal ransetzen, klingt für mich als die beste Lösung und eine gute Programmiersprach zudem auch ;)
0

#8 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 31. Mai 2016 - 18:50

Verpönt? :unsure: Wie willst denn unter c# Properties mit Zugriffsrechten setzen ohne get{} / set {}? Und mh, offensichtlich sind die .NET Bauer auch alle, ähm, so ein schlechtes Wort oder sowas; die haben nämlich überall Properties gesetzt und die definieren sich nun mal über Implementierung via get und set (im Gegensatz zu simplen Attributen).


Und nein. Es geht natürlich NICHT drum, mit JAVA anzufangen, damit einem der Rest einfacher vorkommt. Es geht darum, daß JAVA sehr streng ist und daß es daher sehr leicht fällt, zu verstehen, was da passiert und wie OO funktioniert. Im krassen Gegensatz dazu PHP ab 5; das macht stattdessen auto-casting wo es kann und DA sieht man dann gar nicht mehr durch als Neuling: warum ist 0 einmal false und einmal NULL und einmal dann aber doch nicht? Warum gibt mysql::query() == "" nicht das was ich wollte? Und so weiter. Mit JAVA passiert sowas nicht.

-- Ach ja. Getter/Setter sind in C# anders implementiert als per getXXX(), das ist tatsächlich verpönt, weil schlicht nicht notwendig. Pseudo-C#:

public string Value
 get{query(SELECT ELEFANT FROM AFRICA);}
 set{query(INSERT INTO INDIA (ELEFANT);}


definiert eine simple Eigenschaft Value, die beim Lesen get{} aufruft und beim Schreiben halt set {} und die readonly wird ohne set{} und die writeonly wird ohne get{}.

Dieser Beitrag wurde von RalphS bearbeitet: 31. Mai 2016 - 18:55

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#9 Mitglied ist offline   SpookyLion 

  • Gruppe: Mitglieder
  • Beiträge: 6
  • Beigetreten: 31. Mai 16
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 31. Mai 2016 - 18:54

Beitrag anzeigenZitat (RalphS: 31. Mai 2016 - 18:50)

Im krassen Gegensatz dazu PHP ab 5; das macht stattdessen auto-casting wo es kann und DA sieht man dann gar nicht mehr durch als Neuling: warum ist 0 einmal false und einmal NULL und einmal dann aber doch nicht? Warum gibt mysql::query() == "" nicht das was ich wollte? Und so weiter. Mit JAVA passiert sowas nicht.



Da hast du Recht, bei PHP kenne ich es und von Java habe ich es schon gelesen das es sehr streng reglementiert sein soll :)
0

#10 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.666
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 03. Juni 2016 - 23:55

Beitrag anzeigenZitat (RalphS: 31. Mai 2016 - 18:50)


-- Ach ja. Getter/Setter sind in C# anders implementiert als per getXXX(), das ist tatsächlich verpönt, weil schlicht nicht notwendig. Pseudo-C#:

public string Value
 get{query(SELECT ELEFANT FROM AFRICA);}
 set{query(INSERT INTO INDIA (ELEFANT);}


definiert eine simple Eigenschaft Value, die beim Lesen get{} aufruft und beim Schreiben halt set {} und die readonly wird ohne set{} und die writeonly wird ohne get{}.


Ja genau so sollte das sein. Auch wenns meiner Meinung nach Jacke wie Hose ist (vor allem wenn der Lektor nur Java Samples hat und herzeigt und nicht sagt wie es in C# gehört hätte aber das ist ein anderes Thema)

und ad PHP: ist doch Lustig wenn 0 0, false NULL oder "0" sein kann ;)
0

#11 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 04. Juni 2016 - 07:10

Eh, viel lustiger ist doch, daß das unter PHP auch get und set gibt, nur daß DA dann get und set dafür da sind, aufgerufen zu werden, wenn Du auf eine nicht erreichbar (deklariert)e Methode oder Eigenschaft zuzugreifen versuchst. :ph34r:

Also mit anderen Worten, sagen wir da ist sowas wie ein private string Field, und dann greifst Du innerhalb der Klasse drauf zu und kriegst $Field zurück, und ansonsten aber das Ergebnis der __get() Funktion. Besonders witzig, daß da auch durchaus auf $Field zugegriffen werden kann, wenn es gar kein solches Attribut gibt ("virtuelles Feld"). Also Du schreibst auf die Eigenschaft Field drauf und wenn es da nix gibt wird eben __set ausgeführt und dann muß __set natürlich auch das richtige tun.

Problem dabei: PHP macht weder Overloading (das ist bei denen eben diese get/set Zugriffsmethode <_<) noch $Field get; set; sondern da kannst Du genau EINE Funktion __set() und EINE Funktion __get() deklarieren mit der Signatur (string $Feldname, mixed Wert). $ergebnis = $object->Value ruft also __get("Value", $Value) auf und das wars auch. Den Rest darfst dann mit den is_* und switches abhandeln.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#12 Mitglied ist offline   Lastwebpage 

  • Gruppe: aktive Mitglieder
  • Beiträge: 516
  • Beigetreten: 26. Dezember 07
  • Reputation: 46

geschrieben 04. Juni 2016 - 08:33

Noch ein Kommentar zu Visual Basic. Das ist bei weitem nicht so schlecht, wie man überall liest. Nur ist das, meiner Meinung nach, eben am ziemlichen Ende der "Abstraktionsphase".

Pseudocodes, d.h. nur im Kopf erstellt, oder kopiert.
C#
using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("Hello World!");

         
        }
    }
}


Hier passiert aber schon einiges im Hintergrund, was sich auch kaum bis gar nicht beeinflussen lässt. Auf der anderen Seite, man muss sich auch nicht um wirklich alles selber kümmern.

C++
#include studio.h
void main()
{
 printf("Hello World");
}


Dieses Beispiel, was man evtl. auch in Büchern findet, ist aber totaler Müll. Keiner schreibt einen Text in die Konsole, außer in der Schule oder in Büchern. Wenn man etwas in ein Fenster schreiben will, kommen da Zeiger, Speicheranfordungen usw. hinzu, dass ergibt dann ziemlich umfangreichen Code und ist auch fehleranfällig. Dafür passiert dann aber auch so gut wie gar nichts hinter den Kulissen, was man nicht beeinflussen könnte, auch wenn dass die Konsequenz hat, dass man einiges selber machen muss.

Visual Basic/VBA (Das ist jetzt wirklich reiner Pseudocode)
sub hello()
Dim A
A=createObject.("Word.document")
a.document.create "test document"
a.document.write "Hello world!"
a.document.print
end sub


(Keine Ahnung, wie viele Zeilen das in C++ wären, 10000? ;) )
Bei Visual Basic und VBA wird einem also so einiges an Arbeit abgenommen, dieses führt aber auch dazu, dass man da nicht unbedingt, oder nur sehr schwer, Einfluss drauf hat. (Ja, mir ist bewusst, dass VB und VBA nicht das selbe sind)

Hauptbeweggrund für eine Programmiersprache ist für mich also:
1) Der Anwendungsfall, wie in deinem Fall Android
2) Der "Abstraktionslevel"
3) Naja, ich will es mal so formulieren, von jedem ein wenig zu kennen, ist vielleicht nicht so gut wie etwas sehr gut zu kennen. Auch wenn dieses dann evtl. größere Umwege, für das selbe Ergebnis, zu gehen.

Dieser Beitrag wurde von Lastwebpage bearbeitet: 04. Juni 2016 - 08:35

0

#13 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 04. Juni 2016 - 10:59

Na, vergiß nicht, daß VB.NET auch nur eine der .NET Sprachen ist; mit anderen Worten, C# kann dasselbe, und die ganzen anderen .NET Sprachen auch, nur halt jeweils mit einem anderen Geschmäckle. :)

Allerdings ist VB nicht mit VBA zu verwechseln. VBA läuft im Kontext einer Applikation (daher auch das A) und man hat Zugriff auf das Objektmodell dieser Applikation, wie zB eben bei MS Office. Aber schon da hat man das Problem, auf die einzelnen Namensräume zuzugreifen (zumindest bisher; keine Ahnung wie weit die jetzt mit der "gemeinsamen" VBA-Plattform sind).

In VB.NET muß man ebenso wie in C# auch erstmal die benötigten Komponenten einbinden und/oder selber erstellen.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#14 Mitglied ist offline   Future010 

  • Gruppe: aktive Mitglieder
  • Beiträge: 704
  • Beigetreten: 02. Januar 14
  • Reputation: 69
  • Geschlecht:Männlich

geschrieben 04. Juni 2016 - 13:14

Zitat

nun ist es aber ja so das man immer wieder hört das Java am aussterben ist



Wer erzählt denn den Bullshit?Eingefügtes Bild


Grundsätzlich führt die Debatte ins Leere. Es wird sich immer einer finden, der sagt nimm Sprache XY, ich beherrsche mittlerweile:
C, C++, C#, .NET, Java, Python, JavaScript (Script language) und PHP sowie Assembler. Und was bringt das? Naja es kommt auf die Aufgabe/Anwendung drauf an.

Man muss sich da MM auch nicht wirklich beraten lassen. Es ist viel einfacher, man guckt sich die Sprachen der Reihe nach an und guckt, welche einem von der Syntax besser gefällt. Fertig!

Außerdem: Java ist die meist genutzte Programmiersprache (Stand 2016), der Vorteil liegt hier auf der Hand.

Bei VB.NET ist es recht amüsant, dass man dort "fast" Klartext tippen kann und das Programm läuft (Stichwort: Abstraktion).Eingefügtes Bild

Dieser Beitrag wurde von Future010 bearbeitet: 04. Juni 2016 - 13:29

Ein(e) Danke(positive Bewertung) für einen guten Beitrag kann nicht schaden ;-) Danke!j Dateien und Ordner Verwaltung by Future010
0

#15 Mitglied ist offline   SpookyLion 

  • Gruppe: Mitglieder
  • Beiträge: 6
  • Beigetreten: 31. Mai 16
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 05. Juni 2016 - 16:54

Also ich habe mich jetzt entschlossen C# zu lernen denn das was ich bis jetzt darüber gelesen und gesehen habe gefällt mir recht gut, auch ist der Code für mein Gehirn begreifbar :smokin: :imao:

Mal sehen ob es mir dann später immer noch so gefällt aber ich denke schon denn normal ziehe ich das durch was ich mir einmal vorgenommen habe.

Kennt ihr evtl. paar Seiten oder auch Bücher die eurer Meinung nach sehr gut zum lernen sind ??
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0