Aktuelle wichtige Programmiersprachen - SciFi-Forum

Ankündigung

Einklappen
Keine Ankündigung bisher.

Aktuelle wichtige Programmiersprachen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Habe ich nicht erwähnt, das Haskell ein Exot ist?

    Kommentar


      #17
      Zitat von Albedo Beitrag anzeigen
      Habe ich nicht erwähnt, das Haskell ein Exot ist?
      Wonach bemisst du das? Anyway, in _keiner_ funktionalen Sprache gibt es for Schleifen. In anderen deklarativen Sprachen mag es sie geben, da haben sie aber eine andere Semantik.
      können wir nicht?

      macht nix! wir tun einfach so als ob!

      Kommentar


        #18
        Zitat von blueflash Beitrag anzeigen
        Wonach bemisst du das? Anyway, in _keiner_ funktionalen Sprache gibt es for Schleifen. In anderen deklarativen Sprachen mag es sie geben, da haben sie aber eine andere Semantik.
        Albedo hat aber ganz recht. Funktionale Programmierung und damit natürlich auch funktionale Programmiersprachen sind heute eher exotisch, zumindest was die Programmierung von irgendwelchen Anwendungsprogrammen angeht. Genau wie die logische Programmierung (PROLOG usw.) auch. Standard ist die imperative Programmierung mit allen ihren Untergruppen (Objektorientierung usw.)

        In spannenden Gebieten wie Forschung, Lehre und Emacs-Konfiguration sieht das natürlich gleich wieder ganz anders aus.

        Kommentar


          #19
          Zitat von Stormking
          Albedo hat aber ganz recht.
          Das kommt eben sehr darauf an, was man mit "exotisch" meint. Der Punkt ist halt, dass dieses "lerne eine Sprache, dann beherrschst du im Grunde alle" eine sehr heikle Aussage ist, da z.B. einfachste Rekursion ein durchaus wichtiges Konzept ist, dass man durch OO eher weniger benutzt. Stürzt man sich also auf eine einzelne Sprache, gehen mitunter wichtige Konzepte verloren (Higher Order Functions z.B.)
          können wir nicht?

          macht nix! wir tun einfach so als ob!

          Kommentar


            #20
            Zitat von blueflash Beitrag anzeigen
            Der Punkt ist halt, dass dieses "lerne eine Sprache, dann beherrschst du im Grunde alle" eine sehr heikle Aussage ist, da z.B. einfachste Rekursion ein durchaus wichtiges Konzept ist, dass man durch OO eher weniger benutzt. Stürzt man sich also auf eine einzelne Sprache, gehen mitunter wichtige Konzepte verloren (Higher Order Functions z.B.)
            Völlig richtig. Deshalb sprach ich ja auch von Programmierparadigmen und -konzepten.

            Kommentar


              #21
              Na toll... ich habe zwar von dem Geschriebenen hier irgendwie nur die Hälfte verstanden, aber einige sachen waren ganz hilfreich... danke...
              "Diese Prozedur wird nicht empfohlen..."

              "... wo nie ein Hund zuvor gewesen ist" *Cpt. Archer*

              Kommentar


                #22
                Zitat von Aramis Beitrag anzeigen
                ich habe zwar von dem Geschriebenen hier irgendwie nur die Hälfte verstanden
                Da musst Du durch. Programmieren ist quasi Mathematik. Die Ergebnisse, die am Ende rauskommen, sind allerdings netter anzuschauen.

                Kommentar


                  #23
                  Zitat von Aramis Beitrag anzeigen
                  Na toll... ich habe zwar von dem Geschriebenen hier irgendwie nur die Hälfte verstanden, aber einige sachen waren ganz hilfreich... danke...
                  In erster Linie würde ich mich an deiner Stelle einfach mal fragen was du genau willst, und ob du dich auf einer theoretischen Ebene mit einer Programmiersprache beschäftigen willst, oder ob du eher an konkreten und festen Anwendungen gefallen findest.
                  Die in diesem Thread getätigten Aussagen bzgl. Paradigmen, Datenstrukturen etc. sind ja durchaus richtig, gehen aber für die meisten Hobby-Programmierer ziemlich weit an der Realität vorbei. Ich kenne durchaus einige Leute die beeindruckende Anwendungen in Visual Basic geschrieben haben und bis heute nicht im geringsten wissen was funktionale Programmierung ist. Das ist aber dann auch nicht weiter schlimm, da sie ihre Anwendungen trotzdem schreiben konnten.
                  Für den Otto-Normal Hobbyprogrammierer sind wohl Sprachen und IDEs am geeignetsten, die sich leicht erlernen lassen und dank großer Standard-Bibliotheken bzw. Frameworks und Entwicklungsumgebungen einem viel Arbeit abnehmen; Früher war das VB ziemlich verbreitet (zum Teil ja immer noch), heute eben mehr Java, C#, z.T. Delphi, im Web PHP und Python. Und die meisten Hobby-Programmierer stehen auch ziemlich auf grafische Benutzeroberflächen, und da führt eine IDE auch meistens leichter zum Ziel als wie wenn man eine Sprache und ein Framework von Grund auf lernen muss. Das ist zwar empfehlenswert, aber viele Leute mangels sichtbarer Erfolge schnell wieder das Interesse.
                  Und mächtig sind die meisten genannten Programmiersprachen, auch mit C# und Java lassen sich theoretisch ganze Betriebssysteme schreiben, wobei C(++) hier sicher seine Vorteile hat. Aber ich persönlich muss sagen, dass ich mit C/C++ für den normalen Hausgebrauch nicht antun würde, weil der Mehraufwand in meinen Augen schlichtweg nicht rentabel ist.

                  Kommentar


                    #24
                    Zitat von Enterprise X Beitrag anzeigen
                    Aber ich persönlich muss sagen, dass ich mit C/C++ für den normalen Hausgebrauch nicht antun würde, weil der Mehraufwand in meinen Augen schlichtweg nicht rentabel ist.
                    Allerdings hat C auch einen schönen imperativen Programmfluß und ist daher, wenn man die Hürden der Sprache selbst erstmal einigermaßen gelernt hat, durchaus schön nachvollziehbar und daher für reine konsolenbasierte Hobbyprojekte immer noch durchaus geeignet.
                    Ob der Hobbyprogammierer die Objekte, die man bei Java oder C# durch die Gegend wirft, soviel besser nachvollziehen kann, ist natürlich Geschmackssache.
                    Nichtsdestotrotz ist bei einer objektorientierten Sprache wie Java, C# usw. die Lernkurve oder besser gesagt das Konzept das dahinter steckt, also "was ist eine Klasse, was ist eine Instanz und wo ist der Unterschied, wie interagieren Objekte miteinander usw." auch nicht zu verachten.
                    Da kann ein imperativer Programmfluß wie ihn C bietet für den Einsteiger durchaus auch ein Segen sein, insbesondere wenn ihm einfache Konsolenprogramme genügen.


                    Und falls sein Hobbybereich mehr mit Elektrotechnik zu tun haben sollte, dann wird er um C sowieso kaum herumkommen, wenn er die ersten Mikroprozessoren auf seiner Platine programmieren will.
                    Zuletzt geändert von Cordess; 07.11.2010, 07:23.
                    Ein paar praktische Links:
                    In Deutschland empfangbare FreeTV Programme und die jeweiligen Satellitenpositionen
                    Aktuelles Satellitenbild
                    Radioaktivitätsmessnetz des BfS

                    Kommentar


                      #25
                      Das mag in der Tat durchaus ein Vorteil sein der das ganze einfacher macht, allerdings frage ich mich ob es sich auf längere Sicht rentiert einen Bogen um die Objektorientierung zu machen. Und in den meisten Büchern zu Programmiersprachen wird das ganze ja auf eine durchaus verständliche Weise Schritt für Schritt erklärt, und gerade bei etwas größeren Anwendungen kann sich Objektorientierung doch sehr schnell auszahlen.
                      Für normale Desktop-Anwendungen, sei es Konsole, sei es mit GUI, ist für mich C in erster Linie Zielcode, statt Quellcode. Vor allem wenn man mal bedenkt wie viele Anwendungen professionell entwickelt wurden, von Leuten die es eigentlich können müssten, und Memory-Leaks haben kommen mir eben Zweifel ob es für den Heimgebrauch eine ideale Sprache ist.

                      Ansonsten kommt es natürlich meistens auf den Verwendungszweck an welche Sprache man am besten wählt. Zu Elektrotechnik kann ich kann ich nicht sagen was State of the Art ist, aber vermutlich wird's wohl wirklich nur C sein. Im serverseitigen Web ist man wohl mit PHP und Python ganz gut beraten, da es fast überall läuft, auf der Client-Seite mit Java Script und Action Script oder was eben sonst noch im Browser läuft.

                      Auf was ich eigentlich raus wollte ist, dass man sich wenn man gewisse Projektziele im Rahmen eines Hobbys verwirklichen will, wohl am besten Beraten ist eine konkrete Sprache und ein dazu passendes Framework und eine passende Entwicklungsumgebung, wie auch immer geartet, zu erwählen und das wirklich zu lernen und zu üben, am besten wohl zusammen mit einem guten Buch. Denn da liegt ja die größte Schwierigkeit letztendlich, die meisten verbreiteten imperativen Sprachen unterscheiden sich zwar in der Syntax, funktionieren im Grunde genommen aber noch relativ ähnlich, so dass man eine andere Sprache relativ leicht erlernen kann.
                      Die wirklichen Probleme kommen dann ja in der Praxis. Der Quellcode in PHP, Java, und C# von mir aus auch noch in C sieht auf den ersten Blick ja relativ ähnlich aus, und wird nach längerem hinsehen wohl für jeden der Programmieren kann verständlich sein. Aber für ein konkretes Projekt muss man eben an die ganzen Feinheiten der Sprache erst mal gewöhnen, sich in die Standard-Bibliothek einarbeiten, sich überlegen wie ich mit dem Benutzer interagiere (HTML, Flash, Swing, Windows Forms, Qt, Konsole, gar nicht?), an die IDE gewöhnen und und und. Das ist nämlich in meinen Augen ein ziemlicher Mehraufwand, vor allem auch an Zeit, der für einen Hobby-Programmierer doch nicht ganz vernachlässigbar ist, so dass man sich vorher wirklich überlegen sollte was man eigentlich programmieren will.

                      Kommentar


                        #26
                        Zitat von Enterprise X Beitrag anzeigen
                        Das mag in der Tat durchaus ein Vorteil sein der das ganze einfacher macht, allerdings frage ich mich ob es sich auf längere Sicht rentiert einen Bogen um die Objektorientierung zu machen.
                        Ich denke schon, weil ich davon ausgehe, daß Hobbyprojekte sowieso nie echte Großprojekte werden und dann ist C Code eigentlich noch recht gut überschaubar.
                        Kleinere Projekte sind mit imperativen Programmiersprachen wie C noch sehr gut zu meistern.
                        Für reine GUI Anwendungen würde ich aber, wie ich schon erwähnte, einem Hobbyprogrammierer Python empfehlen und wenn man C und Python kombiniert, dann hat man eigentlich schon eine sehr gute Ausgangslage.
                        Also Python für die GUI und C unter der Haube, wenn es hardwarenah, schnell oder effizient sein soll.



                        Und in den meisten Büchern zu Programmiersprachen wird das ganze ja auf eine durchaus verständliche Weise Schritt für Schritt erklärt, und gerade bei etwas größeren Anwendungen kann sich Objektorientierung doch sehr schnell auszahlen.
                        Wie du selbst sagst, bei den meisten Büchern.
                        Meine erste Erfahrungen die ich mit Java gesammelt habe, und davor programmierte ich schon mit C und Pascal, waren mit dem Buch "Java als erste Programmiersprache" und diesen Buch ist eigentlich für den Einstieg in die Objekt Orientierte Programmierung nicht zu gebrauchen, als Nachschlagewerk mag es ganz brauchbar sein, wofür auch die Rezensionen bei Amazon sprechen aber als Lehrbuch und Einstieg in die OO kann man es in die Tonne treten. Der Titel von dem Buch ist eine Frechheit.
                        Klick hat es bei mir dann bezügl. der OOP erst gemacht, als ich mir ein Buch zu UML kaufte, denn da wurde das Konzept nicht nur durch die UML symbolisch vermittelt, sondern es gab auch gleich noch brauchbaren Beispielcode, den es in obigem Buch nicht gab.

                        Das mit den größeren Anwendungen ist richtig, da zahlt sich die OOP durchaus aus, aber schreibt man als Hobbyprogrammierer größere Anwendungen? Ich würde das bezweifeln. Dafür dürfte ja schon die Zeit fehlen. So ganz in der Freizeit neben einem Vollzeitjob der vielleicht gar nichts mit Programmieren zu tun hat.




                        Für normale Desktop-Anwendungen, sei es Konsole, sei es mit GUI, ist für mich C in erster Linie Zielcode, statt Quellcode. Vor allem wenn man mal bedenkt wie viele Anwendungen professionell entwickelt wurden, von Leuten die es eigentlich können müssten, und Memory-Leaks haben kommen mir eben Zweifel ob es für den Heimgebrauch eine ideale Sprache ist.
                        Wie ich schon schrieb, für reine GUI Sachen würde ich Python nehmen.
                        Die Memory-Leaks bei C kriegt man aber heutzutage mit Tools wie Valgrind sehr gut in den Griff. Ich kann Valgrind wärmstens empfehlen.





                        Zu Elektrotechnik kann ich kann ich nicht sagen was State of the Art ist, aber vermutlich wird's wohl wirklich nur C sein.
                        Ja, es ist eigentlich vorwiegend nur C, weil die kleinen Mikrochips kaum Speicher haben und vorwiegend im Embeddedbereich eingesetzt werden,
                        da hat man für das Programm recht wenig Ressourcen zur Verfügung und
                        bezügl. Compiler gibt es oft nicht mehr als C Compiler. Außerdem ist eine hardwarenahe Programmierung wichtig, C bietet diese.
                        Ganz selten gibt's dann auch mal die Möglichkeit in Basic zu programmieren,
                        zumindest findet man so etwas in den diversen Katalogen für Elektotechnikbegeisterte, aber das dürfte dann auch eher im Hobbybereich angesiedelt sein. In der Industrie dürfte C der Normalfall sein.



                        Im serverseitigen Web ist man wohl mit PHP und Python ganz gut beraten, da es fast überall läuft, auf der Client-Seite mit Java Script und Action Script oder was eben sonst noch im Browser läuft.
                        ACK. Wobei ich hier aber dann dennoch jedem Python empfehlen würde, denn es ist einfach deutlich sauberer implementiert und konsistenter als PHP und man kann es auch noch außerhalb der Webwelt für GUIs, Scripte usw. einsetzen.
                        PHP ist hier eher vorwiegend nur für das Web geeignet.
                        Ein Vorteil von PHP gegenüber Python ist anderseits, daß man mehr Webserverangebote findet, die PHP Support bieten, das ist zugegeben ein Vorteil von PHP. Wobei sich das in der Zwischenzeit auch geändert haben kann.




                        Auf was ich eigentlich raus wollte ist, dass man sich wenn man gewisse Projektziele im Rahmen eines Hobbys verwirklichen will, wohl am besten Beraten ist eine konkrete Sprache und ein dazu passendes Framework und eine passende Entwicklungsumgebung, wie auch immer geartet, zu erwählen und das wirklich zu lernen und zu üben, am besten wohl zusammen mit einem guten Buch. Denn da liegt ja die größte Schwierigkeit letztendlich, die meisten verbreiteten imperativen Sprachen unterscheiden sich zwar in der Syntax, funktionieren im Grunde genommen aber noch relativ ähnlich, so dass man eine andere Sprache relativ leicht erlernen kann.
                        Die wirklichen Probleme kommen dann ja in der Praxis. Der Quellcode in PHP, Java, und C# von mir aus auch noch in C sieht auf den ersten Blick ja relativ ähnlich aus, und wird nach längerem hinsehen wohl für jeden der Programmieren kann verständlich sein. Aber für ein konkretes Projekt muss man eben an die ganzen Feinheiten der Sprache erst mal gewöhnen, sich in die Standard-Bibliothek einarbeiten, sich überlegen wie ich mit dem Benutzer interagiere (HTML, Flash, Swing, Windows Forms, Qt, Konsole, gar nicht?), an die IDE gewöhnen und und und. Das ist nämlich in meinen Augen ein ziemlicher Mehraufwand, vor allem auch an Zeit, der für einen Hobby-Programmierer doch nicht ganz vernachlässigbar ist, so dass man sich vorher wirklich überlegen sollte was man eigentlich programmieren will.
                        Ich stimme dir hier zu.
                        Es wäre am besten, wenn der TS mal konkret nennen könnte, welches Hobbyprojekt ihm so vorschwebt.
                        Ein paar praktische Links:
                        In Deutschland empfangbare FreeTV Programme und die jeweiligen Satellitenpositionen
                        Aktuelles Satellitenbild
                        Radioaktivitätsmessnetz des BfS

                        Kommentar


                          #27
                          Zitat von Cordess Beitrag anzeigen
                          Ich denke schon, weil ich davon ausgehe, daß Hobbyprojekte sowieso nie echte Großprojekte werden und dann ist C Code eigentlich noch recht gut überschaubar.
                          Kleinere Projekte sind mit imperativen Programmiersprachen wie C noch sehr gut zu meistern.
                          Für reine GUI Anwendungen würde ich aber, wie ich schon erwähnte, einem Hobbyprogrammierer Python empfehlen und wenn man C und Python kombiniert, dann hat man eigentlich schon eine sehr gute Ausgangslage.
                          Also Python für die GUI und C unter der Haube, wenn es hardwarenah, schnell oder effizient sein soll.
                          Gut, hier stellt sich natürlich die Frage was ist groß... Ich persönlich empfinde Objektorientierung bereits ab ein paar 1000 Zeilen an Code als Wohltat im Bereich Verständnis und Lesbarkeit. Und auch Codezeilen hängen ja wieder von der Sprache ab, Python ist ja im schnitt um einiges kürzer zu schreiben als zum Beispiel Java.
                          Nur wenn es eben nicht gerade um Effizienz und Hardwarenähe geht sehe ich eben nur keinen Grund wieso ich unter der Haube nicht auch Python verwenden sollte. Und zu mindestens für Desktop-Anwendungen fallen mir nicht viele gängige Bereiche ein wo ich wirklich mit Python alleine nicht auskommen würde. Und Python an sich ist ja durchaus eine schöne Sprache.

                          Wie du selbst sagst, bei den meisten Büchern.
                          Meine erste Erfahrungen die ich mit Java gesammelt habe, und davor programmierte ich schon mit C und Pascal, waren mit dem Buch "Java als erste Programmiersprache" und diesen Buch ist eigentlich für den Einstieg in die Objekt Orientierte Programmierung nicht zu gebrauchen, als Nachschlagewerk mag es ganz brauchbar sein, wofür auch die Rezensionen bei Amazon sprechen aber als Lehrbuch und Einstieg in die OO kann man es in die Tonne treten. Der Titel von dem Buch ist eine Frechheit.
                          Klick hat es bei mir dann bezügl. der OOP erst gemacht, als ich mir ein Buch zu UML kaufte, denn da wurde das Konzept nicht nur durch die UML symbolisch vermittelt, sondern es gab auch gleich noch brauchbaren Beispielcode, den es in obigem Buch nicht gab.
                          Hier kann ich natürlich nur für Bücher sprechen die ich gelesen habe, und zu dem Thema kann ich die an einer Hand abzählen. Aber von denen die ich gelesen habe, habe ich den bleibenden Eindruck behalten, dass OOP relativ idiotensicher und vor allem anschaulich erklärt wurde. Wobei man hier eben Menschen ohne Vorwissen für eine objektivere Beurteilung bräuchte.

                          Das mit den größeren Anwendungen ist richtig, da zahlt sich die OOP durchaus aus, aber schreibt man als Hobbyprogrammierer größere Anwendungen? Ich würde das bezweifeln. Dafür dürfte ja schon die Zeit fehlen. So ganz in der Freizeit neben einem Vollzeitjob der vielleicht gar nichts mit Programmieren zu tun hat.
                          Kommt immer darauf an was man als groß beurteilt, wie lange man an einem Projekt arbeitet und was man ist, Schüler haben da wohl mehr Zeit als jemand mit Familie und einem Vollzeitjob. Aber es gibt eben schon auch Hobbyprogrammierer die irgendwann mehr als einen Taschenrechner in VB schreiben, wie groß deren Anteil ist, ist eben die Frage.
                          ACK. Wobei ich hier aber dann dennoch jedem Python empfehlen würde, denn es ist einfach deutlich sauberer implementiert und konsistenter als PHP und man kann es auch noch außerhalb der Webwelt für GUIs, Scripte usw. einsetzen.
                          PHP ist hier eher vorwiegend nur für das Web geeignet.
                          Ein Vorteil von PHP gegenüber Python ist anderseits, daß man mehr Webserverangebote findet, die PHP Support bieten, das ist zugegeben ein Vorteil von PHP. Wobei sich das in der Zwischenzeit auch geändert haben kann.
                          Zu mindestens bei den kommerziellen Hosting-Angeboten hat Python soweit ich es beurteilen kann eine ganz gute Verfügbarkeit erreicht. Wie es bei Freehsotern aussieht, keine Ahnung. Ein Vorteil ist gewiss, dass es nicht so sehr auf's Web fixiert ist und zudem auch deutlich weniger zusammengeflickt ist als PHP. Wobei auch PHP seine Reize hat, trotz allem.

                          Kommentar

                          Lädt...
                          X