Programmeringsspråk - pros and cons (avdelad)
47 inlägg
• Sida 2 av 2 • 1, 2
Re: Utveckla eget forum?
lasseivägen skrev:Om jag förstod trådämnet rätt, handlade det om att göra ett försök att förbättra forumet.
Numera handlar det snarast om vem som kan argumentera bäst för diverse språk.
Det hela liknar dom meningslösa projektmöten jag suttit av då jag fortfarande var tvungen att slita för brödfödan, dom handlade ofta bara om att vissa personer ville göra sin röst hörd .
Tror diskussionerna här har samma inverkan på entusiasterna som hade ett mål, som våra projektmöten hade. Man tappade helt lusten att över huvud taget göra något.
Mina programeringskunskaper begränsar sig ill att skriva hej world i C++. Därför lägger jag mig inte i programspråken. Men här verka finnas tillräckligt med kunskaper för att fixa åtminstone fem nya forum.
Dumheter! Det enda jag tappar lusten för är att fortsätta diskutera språkval – nyckelordet i mitt CV är just "auto-motiverad" och jag är fortsatt pepp på att driva projektet ifråga vidare!
Re: Programmeringsspråk - pros and cons (avdelad)
animal skrev:Vitsen är naturligtvis att det a) skapar en visuell och entydig struktur för all kod (oavsett vad man har för skit bakom ratten), b) tar typ 50 % mindre tid att klicka på tab resp. backspace än att göra måsvingar och c) man slipper arslen som envisas med att sätta måsvingarna fel, typ
- Kod: Markera allt
void callHome(int[] foo)
{
/.../
}
istället för korrekt placering av måsvingarna:
- Kod: Markera allt
void callHome(int[] foo) {
/.../
}
Jag måste ju erkänna att jag är ett arsle i det här fallet. Om jag inte sätter mina måsvingar som i exempel ett har jag väldigt svårt att läsa koden och hitta eventuella uteblivna måsvingar. Så jag föredrar, av praktiska skäl, att använda exempel ett. Det ger mej den överblick jag behöver för att göra så få fel som möjligt rent syntaxmässigt. Sorry, animal!
Re: Programmeringsspråk - pros and cons (avdelad)
nallen skrev:Jag använder det inte dagligen längre... men jag hoppas på ändring till det bättre på den punkten i höst.
Alltså, jag är grymt projektorienterad när jag ska lära mej nya saker. Jag har svårt att sitta och lajja med Ada "baraföratt". Skulle jag ha ett konkret projekt att utföra skulle det däremot vara precis hur kul som helst att lära sej - jag har velat göra det väldigt länge men det är ju ingen som använder det numera.
Hursomhelst. Vad jag vill säga är att OMM du skulle behöva en lärling i höst så är jag extremt nyfiken på att lära mej koda Ada. Jag har hört mycket gott om det språket.
Ett annat språk jag är extremt nyfiken på att lära mej är Erlang. Så jag annonserar härmed mitt intresse att deltaga i ett projekt i det språket också!
Re: Programmeringsspråk - pros and cons (avdelad)
lasseivägen skrev:Tror diskussionerna här har samma inverkan på entusiasterna som hade ett mål, som våra projektmöten hade. Man tappade helt lusten att över huvud taget göra något.
Om man ska bygga något tillförlitligt gäller det att göra en bra grund. Därav att man bör tänka till angående språkval. Annars blir det som bilbyggaren som tappar intresse så fort hållfastigheten på chassit behöver dimensioneras när denne tänkt experimentera med skalfärgen.
Att driva vem kan bre på mest i slips är dock något helt annat.
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet
Re: Programmeringsspråk - pros and cons (avdelad)
weasley skrev:Vad jag vill säga är att OMM du skulle behöva en lärling i höst så är jag extremt nyfiken på att lära mej koda Ada.[/b]
Om det nu blir jobbyte så är det är väl troligt att jag som rokkie i organisationen inte har så stort utrymme för eget hittepå... och så är det i GBG också.
Å andra sidan är grunderna i Ada inte svåra att skaffa sig, nästa gång du ska göra nåt som mer eller mindre rena beräkningar som du lika gärna kunde ha gjort i FORTRAN kan du ju prova att skriva dem i Ada. Det tar säkert inte mycket mer än en vecka extra. När sen grunderna sitter kan man börja roa sig med taskin och objektorientering. Det sistnämnda tycker jag är det mest uppfriskande jag gjort i Ada - det gav mig nya perspektiv på vad det är och vad det handlar om.
Re: Programmeringsspråk - pros and cons (avdelad)
Kvasir skrev:plåtmonster skrev:Lisp är uppenbarligen komplext, men om det är effektivt så kan det vara värt att lära sig.
Lisp är inte det minsta komplext. Tvärtom är det väldigt enkelt och logiskt. Dock kan det förefalla svårt och konstigt i början om man är väldigt inkörd i det imperativa tänkandet.
Därmed inte sagt att Lisp är ett lämpligt språk till alla applikationer. Sedan finns modernare funktionella språk som möjligen är bättre, men de har jag ingen koll på.
clojure, scala?
Re: Programmeringsspråk - pros and cons (avdelad)
passanger skrev:clojure, scala?
vad menas?
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet
Re: Programmeringsspråk - pros and cons (avdelad)
plåtmonster skrev:passanger skrev:clojure, scala?
vad menas?
modernare funktionella programmeringsspråk.
Re: Programmeringsspråk - pros and cons (avdelad)
weasley skrev:Och vad tycker auditoriet om JAVA då?
Nallen tycker inte att språket i sig tillför något men är lite avundsjuk på det stora standardbiblioteket.
Re: Programmeringsspråk - pros and cons (avdelad)
Assembler är det språk som riktiga programmerare använder.
C/C++ har ingen chans emot det, lika lite som Python. För web-programmering så föredrar jag mySQL och PHP.
C/C++ har ingen chans emot det, lika lite som Python. För web-programmering så föredrar jag mySQL och PHP.
Re: Programmeringsspråk - pros and cons (avdelad)
weasley skrev:Och vad tycker auditoriet om JAVA då?
Hyfsat, det är ju trevligt med portabiliteten.
Re: Programmeringsspråk - pros and cons (avdelad)
Java är förbannat segt.
Förutom det är det inget större fel på det. Mer än att det är så förbannat segt.
Nu kan man ju kompilera sina C++ för olika plattformar på ett ganska smidigt sätt. Då går det snabbare. Fina grejer.
Förutom det är det inget större fel på det. Mer än att det är så förbannat segt.
Nu kan man ju kompilera sina C++ för olika plattformar på ett ganska smidigt sätt. Då går det snabbare. Fina grejer.
Re: Programmeringsspråk - pros and cons (avdelad)
weasley skrev:Java är förbannat segt.
Förutom det är det inget större fel på det. Mer än att det är så förbannat segt.
Nu kan man ju kompilera sina C++ för olika plattformar på ett ganska smidigt sätt. Då går det snabbare. Fina grejer.
+1. Förbannat segt!
De prestandavinster man ev. får ut av att köra C++ eller Java framför Python äts snabbt upp av ökad komplexitet och fler konsulttimmar. Python går snabbt att skriva och är intuitivt.
T.ex. att iterera över ett antal element eller utbyta parametrar med andra funktioner, något man i princip måste göra hela tiden, är sjukt snabbt och intuitivt (som att skriva ett kärleksbrev ungefär):
- Kod: Markera allt
# "2 4 8" => lätt att utbyta parametrar!
def myfunc(x):
return x, x**2, x**3
first_power, second_power, third_power = myfunc(2)
print first_power, second_power, third_power
# my_list = [(1, 1, 1), (2, 4, 8), (3, 9, 27), (4, 16, 64)] => snabbt och smidigt att iterera över tupler och peta in dem i en lista
my_list = []
for i in range(1, 5): my_list.append(myfunc(i))
# "1 1 1\n2 4 8\n3 9 27\n4 16 64\n" => snabbt och smidigt att komma åt och arbeta med det data man behöver
for first, second, third in my_list:
print first, second, third
# "osäkert" att ha ett svagt typat språk? => lägg till felhantering snabbt och smidigt
for first, second, third in my_list:
try:
assert type(first) is int and type(second) is int and type(third) is int
print first, second, third
except AssertionError:
pass
Även sådana här enkla exempel sväller snabbt till 2-3 ggr. så mycket kod och väsentligt större komplexicitet. Jag har inte använt Java på över ett år nu, men den som känner sig manad får gärna visa hur man skriver motsvarande kodsnuttar i Java utan att det sväller typ 200 %.
Re: Programmeringsspråk - pros and cons (avdelad)
animal skrev:weasley skrev:Java är förbannat segt.
Förutom det är det inget större fel på det. Mer än att det är så förbannat segt.
Nu kan man ju kompilera sina C++ för olika plattformar på ett ganska smidigt sätt. Då går det snabbare. Fina grejer.
+1. Förbannat segt!
De prestandavinster man ev. får ut av att köra C++ eller Java framför Python äts snabbt upp av ökad komplexitet och fler konsulttimmar. Python går snabbt att skriva och är intuitivt.
T.ex. att iterera över ett antal element eller utbyta parametrar med andra funktioner, något man i princip måste göra hela tiden, är sjukt snabbt och intuitivt (som att skriva ett kärleksbrev ungefär):
- Kod: Markera allt
# "2 4 8" => lätt att utbyta parametrar!
def myfunc(x):
return x, x**2, x**3
first_power, second_power, third_power = myfunc(2)
print first_power, second_power, third_power
# my_list = [(1, 1, 1), (2, 4, 8), (3, 9, 27), (4, 16, 64)] => snabbt och smidigt att iterera över tupler och peta in dem i en lista
my_list = []
for i in range(1, 5): my_list.append(myfunc(i))
# "1 1 1\n2 4 8\n3 9 27\n4 16 64\n" => snabbt och smidigt att komma åt och arbeta med det data man behöver
for first, second, third in my_list:
print first, second, third
# "osäkert" att ha ett svagt typat språk? => lägg till felhantering snabbt och smidigt
for first, second, third in my_list:
try:
assert type(first) is int and type(second) is int and type(third) is int
print first, second, third
except AssertionError:
pass
Även sådana här enkla exempel sväller snabbt till 2-3 ggr. så mycket kod och väsentligt större komplexicitet. Jag har inte använt Java på över ett år nu, men den som känner sig manad får gärna visa hur man skriver motsvarande kodsnuttar i Java utan att det sväller typ 200 %.
- Kod: Markera allt
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static java.lang.System.out;
public class Test {
private static List<Integer> getPowers(int x) {
return Arrays.asList(x, x * x, x * x * x);
}
public static void main(String... args) {
out.printf("%s \n", getPowers(2));
List<List<Integer>> myList = new ArrayList<List<Integer>>();
for (int i = 1; i < 5; i++) myList.add(getPowers(i));
for (List<Integer> powers : myList) {
out.printf("%s", powers);
}
for (Integer number : getPowers(2))
try {
out.printf("\n%s", number.intValue());
} catch (NumberFormatException e) {
//pass
}
}
}
Några kommentarer.
Komparativa "benchmarks" skulle jag vilja se så man har lite siffror att gå på snarare än intryck och åsikter. Parametrar C++, Java, Python. Någon som känner sig manad/intresserad?
JVM (Java Virtual Machine) har blivit hyfsat optimerat under de senaste 10 åren...
Inte särskilt förvånande med tanke på hur mycket det används inom "industrin".
Jag håller med om komplexitet som förhindrar produktivitet.
Där är språk som python effektiva.
Dock finns det svagheter med svagt typade språk
Och där också styrkor med statiskt typade.
Det jag däremot är mer för är statisk inferens.
Dvs kompilatorer som fattar vilken typ en literal är av det syntaktiska sammanhanget.
Både Python och java går där bet.
Jag tror dock att typsäkerhet, i kritiska sammanhang, är att föredra.
Komplexitet handlar dock inte bara om programmeringsspråket utan även om andra saker som
programmerare (som saknar sinne för simplicitet) och alldeles för ofta väljer man fel approach att lösa ett problem, och i vissa fall fel ramverk eller i värsta fall fel programmeringsspråk.
Jag tror inte man ska göra allt med alla programmeringsspråk.
Vissa är bättre på vissa grejer. Det handlar om att ha en djup och välslipad känsla för vilket verktyg som gör det bästa jobbet för ett specifikt problem.
Det gäller alla programmeringsspråk.
Re: Programmeringsspråk - pros and cons (avdelad)
passanger skrev:/.../
Några kommentarer.
Komparativa "benchmarks" skulle jag vilja se så man har lite siffror att gå på snarare än intryck och åsikter. Parametrar C++, Java, Python. Någon som känner sig manad/intresserad?
JVM (Java Virtual Machine) har blivit hyfsat optimerat under de senaste 10 åren...
Inte särskilt förvånande med tanke på hur mycket det används inom "industrin".
Jag håller med om komplexitet som förhindrar produktivitet.
Där är språk som python effektiva.
Dock finns det svagheter med svagt typade språk
Och där också styrkor med statiskt typade.
Det jag däremot är mer för är statisk inferens.
Dvs kompilatorer som fattar vilken typ en literal är av det syntaktiska sammanhanget.
Både Python och java går där bet.
Jag tror dock att typsäkerhet, i kritiska sammanhang, är att föredra.
Komplexitet handlar dock inte bara om programmeringsspråket utan även om andra saker som
programmerare (som saknar sinne för simplicitet) och alldeles för ofta väljer man fel approach att lösa ett problem, och i vissa fall fel ramverk eller i värsta fall fel programmeringsspråk.
Jag tror inte man ska göra allt med alla programmeringsspråk.
Vissa är bättre på vissa grejer. Det handlar om att ha en djup och välslipad känsla för vilket verktyg som gör det bästa jobbet för ett specifikt problem.
Det gäller alla programmeringsspråk.
Java: 742 tecken, 4 importerade klasser och tämligen komplext för en enkel skituppgift
Spoiler: visa
Python: 422 tecken, 0 importerade klasser och simplistiskt nog för att t.o.m. en lekman som bara har gymnasieskolans "Programmering A" i bagaget ska kunna förstå vad koden gör (trots att Prog. A i allmänhet fokuserar på just Java-/C++-syntax)
Spoiler: visa
Ang. "Komplexitet handlar dock inte bara om programmeringsspråket utan även om andra saker som programmerare (som saknar sinne för simplicitet) och alldeles för ofta väljer man fel approach att lösa ett problem": Inga invändningar på den punkten (människor är alltid den svagaste länken), men rent pragmatiskt så kan vi nog enas om att det är oändligt mycket lättare att sätta ett enklare verktyg (e.g. Python) i handen på utvecklaren än att lära hen "att börja tänka rätt"?
Ang. "Jag håller med om komplexitet som förhindrar produktivitet. Där är språk som python effektiva. Dock finns det svagheter med svagt typade språk ": Jag har hört flera förtroendeingivande figurer peka på just det där med att "det finns svagheter med svag typade språk", men ingen har berättat vilka dessa svagheter skulle vara. Kan du vara så god och upplysa mig? Själv har jag bara upplevt en lång rad betydande fördelar med Python sedan jag övergav Java/C++ till förmån för Python (jag jobbar i regel med att utveckla relativt storskaliga affärssystem/backendlösningar mot PaaS-plattformar).
Jag är uppriktigt mycket tacksam för all insiktsfull input!
Re: Programmeringsspråk - pros and cons (avdelad)
animal skrev:Java: 742 tecken, 4 importerade klasser och tämligen komplext för en enkel skituppgift
Python: 422 tecken, 0 importerade klasser och simplistiskt nog för att t.o.m. en lekman som bara har gymnasieskolans "Programmering A" i bagaget ska kunna förstå vad koden gör (trots att Prog. A i allmänhet fokuserar på just Java-/C++-syntax)
Jag håller med om att python är syntaktiskt lättare.
Men du tycker väl inte min javakod är så svår att förstå eller innehåller mycket kod?
Det är också trevligt att slippa importer.
Det går ju att undvika genom att peka ut dem direkt i koden t.ex.
java.lang.System.out.printf("python rocks!");
eller java.util.ArrayList...
Men det är smaksak. Jag föredrar att importera för att göra det intressanta i koden mer lättläst.
Eftersom det är så enkelt att importera i en IDE (ett snabbkommando och du är hemma) jag en statisk import av printf. (En av javas fördelar är det rika standardbiblioteket).
python har built in functions. Ungefär motsvarigheten till javas java.lang bibiliotek.
Dessa finns tillgängligt utan explisiv import vilket är smidigt.
Finns även annat som är trevligt med python och otrevligt med java.
Jag tycker dock inte att exemplena ovan är tillräckliga för att belysa javas tillkortakommanden eller pythons fördelar tillräckligt mycket. Hade tuplerna varit av olika datatyper hade man fått hacka lite i java - typ List<Object> osv ... Javas collections stödjer bara subtyper via polymorfism för en viss objekt datatyp.
Tupler kan ha olika datatyper i en och samma collection, vilket är trevligt.
Dock så har man ju ingen typsäkerhet och det kan ge upphov problem i runtime som java upptäcker i compiletime.
även om det finns många exempel på komplex java kod så finns det även sätt att maximalt utilisera det java är bra på.
Så jag vill se lite mer exempel som gestaltar var java går bet och där python gör det man inte kan i java.(Det finns naturligtvis intressanta sådana)
Men som sagt det handlar mycket om NÄR vill vi ha ett svagt typat programmeringsspråk vs när vill vi ha ett starkt typat programmeringsspråk för ett givet programmeringsproblem.
Javas största problem tycker jag är concurrency (trådning)
Vilket gäller imperativa språk i allmänget vs funktionella programmeringsspråk (tex scala)
som löser det hela med "Actor based model" eller STM (.. transactional memory ngt...)
Hur löser python mostarande problem?
Jag är nyfiken på vad man ska använda vad till.
..
Re: Programmeringsspråk - pros and cons (avdelad)
animal skrev: Jag har hört flera förtroendeingivande figurer peka på just det där med att "det finns svagheter med svag typade språk", men ingen har berättat vilka dessa svagheter skulle vara. Kan du vara så god och upplysa mig? Själv har jag bara
Nackdelarna kanske inte gavs då de är lätta att härleda.
Om du inte kan upptäcka problemen förrän i runtime så är chansen större att de dyker upp när lösningen redan är i produktion.
I ett starkt typat språk fångar man dessa problem syntatiskt i compiletime vilket inte är svårt att härleda fördelar från
Re: Programmeringsspråk - pros and cons (avdelad)
742/422
1.7582938388625593 < 2 ggr så mycket kod
16 decimaler.
1.7582938388625593 < 2 ggr så mycket kod
16 decimaler.
Re: Programmeringsspråk - pros and cons (avdelad)
animal skrev:Ang. "Jag håller med om komplexitet som förhindrar produktivitet. Där är språk som python effektiva. Dock finns det svagheter med svagt typade språk ": Jag har hört flera förtroendeingivande figurer peka på just det där med att "det finns svagheter med svag typade språk", men ingen har berättat vilka dessa svagheter skulle vara. Kan du vara så god och upplysa mig? Själv har jag bara upplevt en lång rad betydande fördelar med Python sedan jag övergav Java/C++ till förmån för Python (jag jobbar i regel med att utveckla relativt storskaliga affärssystem/backendlösningar mot PaaS-plattformar).
Ni blandar ihop svag typning med dynamisk typning.
Python har dynamisk men stark typning.
C har statisk men svag typning.
Java har statisk och stark typning.
- Sammelsurium
- Inlägg: 588
- Anslöt: 2009-11-29
Programmeringsspråk - pros and cons (avdelad)
*bump*
Det vore intressant att veta vad ni gör för projekt, speciellt i de moderna språken! Är allting web nuförtiden? Jag själv slutade i princip programmera i slutet på 1980-talet, p.g.a psykisk krasch.
Det vore intressant att veta vad ni gör för projekt, speciellt i de moderna språken! Är allting web nuförtiden? Jag själv slutade i princip programmera i slutet på 1980-talet, p.g.a psykisk krasch.
- notwoodstock
- Inlägg: 3939
- Anslöt: 2013-12-22
- Ort: Stockholm
Programmeringsspråk - pros and cons (avdelad)
Vad tror ni om LISP eller Haskell?
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet
Programmeringsspråk - pros and cons (avdelad)
LISP är främst intressant för att det kan jobba på Metanivå - behandla program som data. Prolog är klart mer intressant för mig, eftersom syntax, (som till och med går att designa själv) är självklart mer kraftfullt - men ser väldigt lätt vad det är för struktur på saker. Man är väl människa.
Jag har inte hållit på med Funktionell programmering, såg någon artikel om ML för 30 år sedan, men förstod inte mer än grundidén lite.
Jag tror att man skall ha flera språk i sin arsenal, beroende på Applikationen.
Men jag programmerar inte längre - min hjärna tog skada av psykisk sjukdom. Så jag är glad åt att kolla lite vad som händer.
Apple har helt klart spännande utvecklarverktyg, när det skrivs om firmor som ger en möjlighet att göra en egen App i några enkla steg.
Jag är mer nyfiken på att få koll på om XML blev en hit, är det formatet som alla jobbar mot, nuförtiden?
Jag har inte hållit på med Funktionell programmering, såg någon artikel om ML för 30 år sedan, men förstod inte mer än grundidén lite.
Jag tror att man skall ha flera språk i sin arsenal, beroende på Applikationen.
Men jag programmerar inte längre - min hjärna tog skada av psykisk sjukdom. Så jag är glad åt att kolla lite vad som händer.
Apple har helt klart spännande utvecklarverktyg, när det skrivs om firmor som ger en möjlighet att göra en egen App i några enkla steg.
Jag är mer nyfiken på att få koll på om XML blev en hit, är det formatet som alla jobbar mot, nuförtiden?
- notwoodstock
- Inlägg: 3939
- Anslöt: 2013-12-22
- Ort: Stockholm