Was ist die einfachste Programmiersprache?

Das Ergebnis basiert auf 15 Abstimmungen

Python 53%
Andere: 33%
Java 13%
C 0%
C++ 0%
C# 0%
R 0%

9 Antworten

Python

Kommt immer drauf an wie „tief“ man in die Programmiersprache eintaucht. Für mich geht das Coden in Python leichter von der Hand, weil Syntax recht unkompliziert.. Wenn ich in C etwas schreibe, sitz ich öfter mal da und frag mich, wie ging das nochmal..? Wenn man die zugrundeliegenden Konzepte versteht, lernt man aber recht schnell, wie das Problem in der verwendeten Programmiersprache zu lösen ist.

Generell gibt es in jeder Programmiersprache Dinge die kompliziert sind (Pointer in C, Lambdas, Generische Typen etc. in Java, usw…)

Eine Einfachste gibt es nicht...

Als erstes sollte die Frage im Raum stehen, was Du programmieren möchtest.

  • Es macht wenig Sinn sich die Mühe zu machen Python zu lernen, wenn Du ein 3D-Spiel oder eine professionelle Anwendung programmieren möchtest. Dafür ist Python zu schwach und langsam. dann brauchst Du C++ oder C#/Unity , wobei C# wesentlich leichter zu erlernen ist
  • Wenn Du stattdessen automatisiert unter Windows mit Dateien und Ordnern (vielleicht sogar auf mehreren Rechnern im Netzwerk) arbeiten möchtest ist Python ein zu "feingliedrig". Da würde ich zu Powershell greifen.
  • Wenn Du für den Hausgebrauch Deinem Rechenknecht sagen willst was er tun soll, ist Python ganz Ok.
  • Wenn's um Webseiten geht, bist Du mit allem außer Javascript auf dem falschen Pfad.

Wenn es um Einfach und Windows geht, würde ich sagen Powershell . Viele denken bei Powershell an eine Shell vergleichbar mit Bash oder Batch. um ehrlich zu sein, Powershell hat nur noch das "Shell" im Namen, weil man's nach 20 Jahren nicht mehr ändern kann. Ansonsten ist Powershell eine hochgradig Objektorientierte und extrem mächtige Programmiersprache. (so mächtig, das Microsoft es für notwendig erachtete, Regeln festzulegen, was man erlaubt)

Abgesehen von ein paar "seltsamen" Besonderheiten die Vergleichsoperatoren betreffend ind der Darstellung von $Variablen, ist Powershell syntaktisch so einfach gehalten, dass jemand ohne besondere Vokenntnisse damit umgehen kann.

Man kann zwar richtig klassisch (wie in C# oder Java) programmieren:

 #nur   durch  3 teilbare ausgeben
for ($i=1;$i -lt 10;++$i) {
    if ( ($i % 3) -eq 0) {$i}
}

oder einfach:

1..10|
  Where-Object {($_ % 3) -eq 0}

noch zu viel?

1..10|?{!($_ % 3)}

Eigentlich muss man sich eine Powershell-Pipline einfach als Rohr mit ein paar Sieben vorstellen, in dass man vorne etwas reinschüttet und am Ende kommt das Ergebnis raus.

Allerdungs kann man nicht nur ein paar Zahlen "reinschütten" sondern auch komplexe Objekte

Möchte man Informationen zu dem gerade ausgeführten Prozess musst du nicht großartig herumzaubern. eine kleine Zeile :

Get-Process -Id $PID|Format-List *

...und Powershell liefert dir ein Objekt, welches fast alle Information enthält . Man muss lediglich die entsprechenden Filter in die Pipine stecken um das gewünschte Ergebnis zu erreichen.

Infos zu sichtbaren Fenstern:

Get-Process |
  Where-Object {$_.MainWindowHandle -ne 0}|
  Select-Object -Property Name,Id,MainWindowTitle,StartTime|
  Sort-Object -Property StartTime|
  Out-GridView

oder kurz:

Get-Process |?{$_.MainWindowHandle -ne 0}|select Name,Id,MainWindowTitle,StartTime|sort StartTime|Out-GridView

...das bekommt man in keiner anderen Sprache so locker gebacken😅

Powershell ist dafür gemacht um bequem aus der Hüfte und ohne großen Aufwand abläufe zu automatisieren.

Folgender kleine Webscrapper lädt automatisiert das jeweils großformatigste Wallpaper von jeder Einzelseite der Ausstellungen https://desktopography.net/ . (ca.800 Bilder möchte man nicht von Hand downloaden🤮)

desktopo_Downloader.ps1

$progressPreference = 'silentlyContinue'
$DestBasePath=$pwd.path +'\Desktopography2'


Write-Host Parse "http://desktopography.net"
$Exhibitions=(Invoke-WebRequest "http://desktopography.net").Links|
    Where-Object{$_.innerText -like '20*'}|
    Sort-Object -property innerText -unique |
    Select-Object href,@{n='Year';e={$_.innerText}}
$Exhibitions |ft 

$Exhibitions|
    ForEach-Object{
        $Year=$_.Year;
        $Null = md "$DestBasePath\$Year" -ea sil  # erzeuge falls nötig Zielordner
        # ermittle die Adressen der einzelnen Bildseiten der  Ausstellungen
        (Invoke-WebRequest $_.href).links|
            Where-Object{$_.class -eq  'overlay-background'}|
            ForEach-Object{
                Write-Host "found Picture: $($_.href)  from Year: $Year" -fo green
                #...und dort Namen des jeweils größten  16:9 Bildformats 
                (Invoke-WebRequest $_.href).links|
                    Where-Object{$_.class -eq  'wallpaper-button'}|
                    Sort-Object -property innerText -Descending|
                    Select-Object -first 1|
                    ForEach-Object{
                        Write-Host ...download to:  $DestBasePath\$Year\$($_.download)   -fo mag
                        Invoke-WebRequest $_.href -OutFile "$DestBasePath\$Year\$($_.download)"
                    }
            }
    }
Pause

...das läuft ohne irgendwas zu installieren auf jedem Windows10/11 ! (und wäre in Sprachen wie C#,Python oder Java nicht unter einigen 100 Zeilen zu realisieren.🤪)

Ich möchte Dich keineswegs dazu verleiden Dich auf Powershell zu stürzen. Es hat hat auch seine Tücken . Allerdings erleichtert Powershell auch recht gut einen späteren Zugang zu C# (wie C# setzt auch Powershell auf .Net auf und kann auch C#-Code ausführen)

...und quasi ohne es bewusst wahrzunehmen landet ein Powershell- Quick&Dirty -Programmierer bei C# und ein paar Zaubertricks drauf von den ein Python-Klempner nur träumen kann.

Willst Du in Richtung Linux verwirf meine Empfehlung. (auch wenn es Powershell und C# für Linux gibt, bei der Linuxgemeinde stößt Du damit auf wenig Gegenliebe)

Unter Linux dürfte Python am billigsten sein.

Python

Ich selber habe früher mit 7 oder so angefangen mit Batch zu programmieren und bin dann nach Jahre langer Pause auf Python gewechselt. Es war definitiv nicht leicht für mich, denn ich hatte immer wieder diese Probleme wie: ,,Soll ich das wirklich lernen oder soll ich doch eher eine andere Sprache lernen?". Aber zum Glück habe ich nicht aufgegeben habe danach C#, HTML, CSS gelernt und jetzt lerne ich Rust was natürlich schwerer als Python etc ist. Es kommt drauf an, mit welcher Sprache man angefangen hat (Falls man Programmierkenntnisse hat).

Woher ich das weiß:eigene Erfahrung
Andere:

QBASIC

C und C++ sind es jedenfalls nicht. Java und Python schon eher.

Andere:

Das ist schwer zu sagen, denn woran misst man es? Mir selbst kommen Python und JavaScript leicht vor, C und Java kommen mir schwieriger vor, vor allem C.

Nebenbei: Basic würde ich keineswegs als leicht bezeichnen, VBA halte ich für einen Krampf