Multiplattforms språk med många bra bibliotek och bra IDE, hjälp och exempel?

Permalänk

Multiplattforms språk med många bra bibliotek och bra IDE, hjälp och exempel?

Har börjat programmera Python lite på försök men vet inte om det är det enklaste och bästa eller om till exempel Java skulle vara bättre att satsa på? Vill snabbt kunna göra små GUI-baserade program som blir enkla för folk att installera och köra i olika miljöer PC, MAC och Linux. Det skall vara gratis eller billigt. Python verkar som ett rätt bra språk med många bibliotek. Som IDE har jag kört Anaconda/Spyder. Har inte börjat kolla på hur man gör fristående exekverbara filer/installationsfiler ännu men det lär gå rätt enkelt??? Har haft en del strul med Python, några exempel är: ostabil installation, val/kompabilitet av version 2 el 3, dålig hjälp och dåliga exempel direkt i IDE (man får googla hela tiden), (för) många olika (hobby-) biblitek som gör nästan samma sak och med dålig dokumentation, svårt att få svenska tecken att fungera i de olika miljöerna, GUI-programmering verkar inte helt enkelt.

Permalänk
Medlem

@spiderweb:
Om du är intresserad av att testa Java, så rekomenderar jag att testa Kotlin istället.

Visa signatur

Det är bättre att fråga och verka dum än att inte fråga och förbli det.

Permalänk
Datavetare

När det kommer till att stödja alla tänkbara plattformar är det väldigt svårt att klå JavaScript idag. Det fungerar på alla system för konsumentbruk idag.

Självklart kan man köra sådana applikationer i webbläsaren. För traditionella desktop-OS finns det även ramverk, som t.ex. Electron för att bygga mer traditionella applikationer.

Är du ute efter att bygga "back-end" applikationer är NodeJS en av de mest populära ramverk som finns för tillfället.

Som IDE kan jag varmt rekommendera Visual Studio Code. VS Code har väldigt bra integration både för att felsöka dina program m.h.a. webbläsaren (traditionell JS) och mot NodeJS (som även fungerar om du använder Electron).

VS Code finns för Windows, MacOS och de flesta Linux-distributioner (bl.a. Ubuntu).

Om du som jag föredrar statiskt typade språk (som t.ex. C, C++, C# och Java) över dynamiskt typade språk (som t.ex. Python, JavaScript, Lisp och Ruby) kan jag verkligen rekommendera TypeScript.

JavaScript är en delmängd av TypeScript, så all giltig JS är även giltig TS. Men TS gör det även möjligt att använda statiska typer, något som bl.a. ökar den hjälp som IDE kan ge dig som utvecklare + man hittar vissa klasser av buggar vid kompilering i stället för vid körning/testning.

/ säger en som är primärt C/C++ programmerare och normalt föredrar koda i Emacs. Men gillar TS skarp och när jag jobbar med TS/JS (normalt med NodeJS) föredrar jag just VS Code.

Edit: och kanske borde tillägga. Visual Studio Code är ett exempel på applikation som är möjlig att skapa med Electron
Edit2: och håller helt med @Belzader Kotlin är riktigt trevligt, klart lyft över Java, därför lyft för Android när Kotlin blev ett av de officiellt språken Android stödjer.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Java med Netbeans är väl ett av de mer välbeprövade konceptet, men det kräver ju att man har Java installerat för att köra applikationerna och är väl inte kompatibelt med JDK 9 än tror jag så det går väl kanske bort.

En annan variant skulle kunna vara C# med Xamarin Forms, dock är stöd för Linux (GTK) och MacOS bara i Preview än så länge så det är nog läge att avvakta med det också om du vill börja släppa dina program inom kort.

https://blog.xamarin.com/preview-bringing-macos-to-xamarin-fo...

Permalänk
Medlem

Du skulle kunna skapa ".html" filer, stoppa in lite formulär osv och styra dem via javascript med "<script></script>" taggen. Då kan du helt enkelt endast skicka en .html fil till vad som helst liksom ^^.

Inte för att det är att rekommendera i produktion, men men.. lätt att komma igång med iaf, kräver ingen installation.

Rekommenderar starkt denna sida för att komma igång med kod:
https://repl.it/

Där finns också utvecklingsverktyg för css/html/javascript

la till repl, en utmärkt sida
Permalänk
Hedersmedlem
Skrivet av spiderweb:

Har börjat programmera Python lite på försök men vet inte om det är det enklaste och bästa eller om till exempel Java skulle vara bättre att satsa på?

Jag skulle spontant inte rekommendera Java som introduktionsspråk om tålamodet tryter redan med Python .

Skrivet av spiderweb:

Vill snabbt kunna göra små GUI-baserade program som blir enkla för folk att installera och köra i olika miljöer PC, MAC och Linux.
[…]
Har inte börjat kolla på hur man gör fristående exekverbara filer/installationsfiler ännu men det lär gå rätt enkelt???

Där träffar du rätt exakt på två av Pythons mer krångliga sidor:

  • GUI-programmering är inte så trevligt som man skulle önska idag. Tkinter, WxPython, PyQt/PySide är de stora biblioteken, och alla har någon form av större brist, skulle jag säga.

  • Vad gäller att få saker som är "enkla att installera" så är programdistribution av typen "peka och klicka för att starta" ej heller så lätt som man skulle kunna önska — det kan pendla vildsint mellan olika situationer hur lätt det är att ska en EXE av ett projekt. Har man tur är det bara att köra PyInstaller, cx_Freeze eller något liknande bibliotek för att skapa en Windows-binär, men det kan krävas betydande handpåläggning och djupdykningar mer i mer detaljer än vad många önskar beroende på vilka beroenden ditt program har.

    Vad som fungerar väl är distribution antingen genom paketbanker (men Windows är rätt eftersatt i det området) eller till användare som är avancerade nog att våga öppna en terminal, men om man siktar på distribution till användare utanför Python-världen kan det vara ett märkbart hinder.

Skrivet av spiderweb:

Python verkar som ett rätt bra språk med många bibliotek. Som IDE har jag kört Anaconda/Spyder.

PyCharm ("Community Edition" är gratis och saknar inte speciellt mycket gentemot betalversionen) brukar rätt unisont rekommenderas som IDE för Python, för de som gillar sådana. Annars skulle jag utan källhänvisning dra till med att majoriteten av de som skriver Python, både stort och smått, klarar sig gott med en vettig texteditor (Vim, Notepad++, Sublime, VS Code, …).

Skrivet av spiderweb:

Har haft en del strul med Python, några exempel är: ostabil installation, val/kompabilitet av version 2 el 3, dålig hjälp och dåliga exempel direkt i IDE (man får googla hela tiden), (för) många olika (hobby-) biblitek som gör nästan samma sak och med dålig dokumentation, svårt att få svenska tecken att fungera i de olika miljöerna, GUI-programmering verkar inte helt enkelt.

  • Såg att du verkar använda Anaconda, som i någon mån är ett paketeringslager "utanpå" Python. Från Wikipedia:

    Skrivet av Wikipedia:

    Anaconda is a free and open source distribution of the Python and R programming languages for data science and machine learning related applications (large-scale data processing, predictive analytics, scientific computing) […]

    Personligen skulle jag inte rekommendera detta om man inte vet att man kan dra nytta av det, då det mest lägger på komplexitet och gör att generella tips i Python-communityt kanske inte applicerar på din installation. Det är inte omöjligt att det stjälper mer än det hjälper för "vanlig" användning, och från din beskrivning verkar det inte som att ditt ändamål handlar om "data science and machine learning".

  • Version 2 eller 3 är idag en enkel fråga med ett enkelt svar (och enklare blir det varje dag): 3.

  • Vad gäller IDE så se tidigare tips om PyCharm.

  • Bibliotek finns det många av, vilket är en stor styrka med Python, men personligen tycker jag generellt att man ska tänka efter lite extra innan man drar in beroenden utanför de "stora kamelerna". Django, Numpy, Flask, Requests, Tornado, Matplotlib, m fl, sköts säkerligen väl och går att lita på över tid, men om man börjar dra in projekt med fem contributors och tolv stjärnor på GitHub så får man vara beredd på att det kanske inte är ett projekt som kommer hålla särdeles väl, och att det är stor sannolikhet att hitta buggar som man får fixa själv. Detta är inget Python-specifikt fenomen, men något att fundera på om man väljer ett språk utifrån tredjepartsbibliotek.

    Allt som är i standardbiblioteket (vilket är väldigt mycket är det kommer till Python) är dock säkert att förlita sig på.

  • Problem med tecken är sannolikt bara ett problem i Windows, och sannolikt primärt i terminalläge kombinerat med Python 2 och viss bristande koll på teckenkodning. Man kommer inte undan fundamentala aspekter av teckenkodning även om man kör Python 3, men här har kompilatorn mycket större möjlighet att redan på förhand slå en oförsiktig utvecklare på fingrarna om den försöker spruta ut en odefinierad bitsoppa till någon mottagare som förväntar sig läsbara tecken .

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.