Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  11 1606
Hei, på skolen skal jeg progge en del i FORTRAN og C. Læreren anbefaler å installere Ubuntu og Emacs, og compilere til begge språkene. Er det noe vits å installere Ubuntu eller finnes det noen bra alternativer i Windows?
Eclipse kan vel konfigureres til å støtte både C og FORTRAN, afaik.

Utover dette så finnes det jo separate IDE-er for både C og FORTRAN.
For eksempel VS for C og ZeusEdit (har null erfaring med denne IDE-en) for FORTRAN.
Er det virkelig fortsatt FORTRAN å finne på skoler idag? Trodde språket var utdødd for lenge siden!

Hvorfor og i hvilken sammenheng har du endt opp med dette?
Sist endret av tripflag; 22. januar 2014 kl. 18:35.
jørgs's Avatar
Trådstarter
Brukes i et fag på NTNU
Hei,
Som nevnt tidligere av s1gh kan eclipse settes opp til å støtte fortran.

http://www.eclipse.org/photran/

Ser veldig bra ut.
Men jeg er selv eclipse fan, så jeg kan ikke gi et unbiased råd om dette
Sorry folkens, men hvis du driver med tungregning er det fortran som gjelder. C++ er også stort (det er det jeg bruker mest), men fortran er nok en ubestridt konge på haugen. Nå skal det sies at det er stor forskjell på f77 og f95, og sistnevnte er faktisk ikke så ille. F77 er gir ikke akkurat pen kode, men det er ikke på langt nær så ille som folk skal ha det til. Jeg vet at det er java og C# som er veien og lyset blandt de som går ren informatikk, men for de som driver med ren tungregning - kvantekjemi, geofysikk og denslags - så er det ingen som bruker disse overhode.

Hva editor angår... Jeg vil på det varmeste anbefale emacs. Sure, hvis du vil ha en editor som er enkel å lære seg og som ser fin ut, så er sikkert eclipse fin, men der slutter også fordelene. Personlig synes jeg den er bloated og fæl. Sikkert dugelig til java, men hva skal du med det? Emcas eller VI er alt man trenger. Et godt tips er å lære seg en skikkelig editor fra børjan av, og hvis foreleseren din anbefaler emcas, så gå for den - da kan du få den hjelpa du trenger hvis du står fast.

Operativsystem: linux.
Ubuntu er enkelt å installere, men det er en grusom distro. Vil du absolutt ha noe som er latterlig enkelt å installere og som ser sexy ut, så gå heller for mint - den funker på alle måter som ubuntu, men er ikke like douchy. Skjønt, debian er bra og enkel å installere den også. Og mye mer hardcore. Dette er din store sjanse til å slippe unna windows for alltid, grip den! Har du først gått vekk fra windows og lært deg noe annet skikkelig, så kommer du aldri til å gå tilbake. Windows er sikkert fint hvis du vil spille og sånn, men skal du gjøre skikkelig arbeid: linux. Å tviholde på windows av gammel vane og forsøke å bruke den glorifiserte spillkonsollen til seriøst arbeid vil bare gi deg frustrasjon og tårer.

Går du for linux, så har du kompilator inne: gfortran er en del av gcc, så det trenger du ikke å tenke på. Noen sverger til intelkompilatoren, og den har noen fordeler, men ingen du trenger pr. i dag.
Sitat av Myoxocephalus Vis innlegg
Sorry folkens, men hvis du driver med tungregning er det fortran som gjelder. C++ er også stort (det er det jeg bruker mest), men fortran er nok en ubestridt konge på haugen. Nå skal det sies at det er stor forskjell på f77 og f95, og sistnevnte er faktisk ikke så ille. F77 er gir ikke akkurat pen kode, men det er ikke på langt nær så ille som folk skal ha det til. Jeg vet at det er java og C# som er veien og lyset blandt de som går ren informatikk, men for de som driver med ren tungregning - kvantekjemi, geofysikk og denslags - så er det ingen som bruker disse overhode.
Vis hele sitatet...
For ti år siden, ja. Idag kan ikke disse måle seg med den ytelsen du får ut av parallell prosessering, men dette krever også mer ut av programmereren enn de nevnte alternativene.


Sitat av Myoxocephalus Vis innlegg
Hva editor angår... Jeg vil på det varmeste anbefale emacs. Sure, hvis du vil ha en editor som er enkel å lære seg og som ser fin ut, så er sikkert eclipse fin, men der slutter også fordelene. Personlig synes jeg den er bloated og fæl.
Vis hele sitatet...
Du velger ikke Eclipse for å få en enkel editor, du velger eclipse for enkel versjonskontroll, Workspace, avansert refaktorering og generering av dokumentasjon. Samt muligheten til å utvide den selv etter eget behov.

Men hvis læreren anbefaler Emacs, så bør du gå for det, da undervisningen mest sannsynlig følger denne. Emacs kjører også på Windows.


Sitat av Myoxocephalus Vis innlegg

Windows er sikkert fint hvis du vil spille og sånn, men skal du gjøre skikkelig arbeid: linux. Å tviholde på windows av gammel vane og forsøke å bruke den glorifiserte spillkonsollen til seriøst arbeid vil bare gi deg frustrasjon og tårer.
Vis hele sitatet...
Med mindre du skal drive med nettverk og serveradmin type arbeid så fungerer Windows akkuratt like bra til seriøst arbeid som Debian. Selv om en del hardcore linux entusiaster vil fortelle deg det motsatte.
Hva som fungerer best for deg er den plattformen du selv føler deg mest komfortabel i.
Sitat av Ross Vis innlegg
For ti år siden, ja. Idag kan ikke disse måle seg med den ytelsen du får ut av parallell prosessering, men dette krever også mer ut av programmereren enn de nevnte alternativene.
Vis hele sitatet...
Virkelig?
Hvor mange, tja, kvantekjemiske programpakker er det som kjører på java eller C#, da? Skal vi se... På denne lista finner vi én enkelt entry hvor java er involvert (scigress), og hvis jeg ikke tar skammelig feil er java kun brukt for GUI der (forøvrig noe kun de færrste slike programsuiter er utrustet med), integralrutinene er nok skrevet i fortran eller C som vanlig. Tar forbehold om at jeg kan ta feil; jeg har ikke personlig erfaring med akkurat denne, men som vi uansett kan se, så er fortran og C++ overrepresentert. Av de mest kjente - turbomol, molpro, dalton, gaussian, dirac, adf, gamess, molcas og orca, så kan du jo selv se hva som går igjen. Og ja, jeg er fullstendig klar over at det er flere programmer som ikke har fått noen entry på wikipedialisten her, men dette er stort sett snakk om temmelig sære greier som ikke ser særlig mye bruk utenfor forskningsgruppen hvor de blir utviklet og vedlikeholdt. Og selv der - kvantekjemikere bruker fortran.

Hva andre tungregningsrelaterte fagfelt angår, så er det mitt entydige inntrykk at dette også gjelder i aller høyeste grad for dem. På samtlige tverrfaglige seminarer hvor jeg har deltatt og møtt geofysikere, astrofysikere, meterologer og slikt, så har jeg aldri møtt noen som bruker java til seriøs tungregning. Aldri. Det blir stadig mer populært å bruke python i kombinasjon med C eller fortran, men ingen bruker java eller C#. Dersom man bare vil ha en enkelt løsning på noen få hundre linjer som likevel går tålelig fort, så bruker man heller i verste fall matlab eller python med numpy - det stiller enda lavere krav til utvikleren enn java, og på matriseoperasjoner (som stort sett er det man trenger) så går det egentlig ganske fort. Du må gjerne poste moteksempler hvis du har noen; dette har jeg opprikt interesse av å se.

Det du må huske på er at tungregningskode egentlig er ganske annerledes veldig mye annet. Du trenger ikke bekymre deg like mye for kompatibilitet eller brukervennlighet; det er skrevet av særinger og for særinger. I tillegg ligger det veldig nære det datamaskinen er best på. Selv om fortrankode kan være kryptisk og komplisert, så er ofte matematikken som er implementert det som er vanskeligst å sette seg inn i. Og dette er også grunnen til at fortran i aller høyeste grad er svært relevant: har du implementert en algoritme som innebærer matriseoperasjoner i stor stil på en fornuftig måte med fortran, så er koden din allerede ganske optimal. Det er 'lett' å skrive effektiv kode med fortran! De tingene java gjør enkelt, de tingene trenger du ikke.

Du trekker inn parallelkoding, og igjen - parallellisering i C/C++ eller fortran, det brukes i stor stil. Paralellisert kode skrevet i fortran går fortere enn parallelisert kode skrevet i java, og det er stort sett kamp om allokeringene på clusterne. Så da velger man heller et språk som stiller litt krav til utvikleren, enn et som aldri kan optimeres til et nivå hvor det blir levedyktig.


Sitat av Ross Vis innlegg
Du velger ikke Eclipse for å få en enkel editor, du velger eclipse for enkel versjonskontroll
Vis hele sitatet...
git.
Kan forøvrig legge til at emacs sin interface til git (magit) er fantastisk.

Sitat av Ross Vis innlegg
Workspace
Vis hele sitatet...
Mulig jeg er dum nå, men hva skal man med det?

Sitat av Ross Vis innlegg
avansert refaktorering
Vis hele sitatet...
Sikkert nyttig hvis du skriver C# eller java...
Kan forøvrig legge til at makroer i emacs gjør slike repetitive drittjobber til en lek.

Sitat av Ross Vis innlegg
generering av dokumentasjon.
Vis hele sitatet...
Ehrm... Dokumentasjon, ja. Det er en fin traktor, det!

Sitat av Ross Vis innlegg
Samt muligheten til å utvide den selv etter eget behov.
Vis hele sitatet...
Akkurat hva legger du i dette? Hvis du mener at editoren kan konfigureres opp og ned og mente, så kan du gjøre det med emacs og VI også. Min .emacs er vel i skrivende stung på litt under 2k linjer, tror jeg. Må vel rydde litt der en dag.

Sitat av Ross Vis innlegg
Men hvis læreren anbefaler Emacs, så bør du gå for det, da undervisningen mest sannsynlig følger denne.
Vis hele sitatet...
Enig.


Sitat av Ross Vis innlegg
Emacs kjører også på Windows.
Med mindre du skal drive med nettverk og serveradmin type arbeid så fungerer Windows akkuratt like bra til seriøst arbeid som Debian. Selv om en del hardcore linux entusiaster vil fortelle deg det motsatte.
Vis hele sitatet...
Igjen, mitt entydige inntrykk er at blandt fysikere, kjemikere og andre likesinnede, så er windows helt ut. Blandt de som skriver kode vel og merke; blandt labfolket er windows mye brukt. Men hos teoretikerne er det linux og OSX som blir brukt. Utelukkende. Med tanke på at alle clusterne kjører linux, så gjør det livet veldig mye enklere å bruke det selv også.

Sitat av Ross Vis innlegg
Hva som fungerer best for deg er den plattformen du selv føler deg mest komfortabel i.
Vis hele sitatet...
Uenig.
Du vil alltid være mest komfortabel med det du er vant med. For å begynne med linux var jeg nødt til å gå langt utenfor komfortsonen. Men du verden hvor mye jeg tjente på det!
Sitat av Myoxocephalus Vis innlegg
Du trekker inn parallelkoding, og igjen - parallellisering i C/C++ eller fortran, det brukes i stor stil. Paralellisert kode skrevet i fortran går fortere enn parallelisert kode skrevet i java, og det er stort sett kamp om allokeringene på clusterne. Så da velger man heller et språk som stiller litt krav til utvikleren, enn et som aldri kan optimeres til et nivå hvor det blir levedyktig.
Vis hele sitatet...
Nå har jeg selv skrevet mer C++ iløpet av min tid enn Java, men av egen erfaring er ikke Java så tregt som folk skal ha det til.

Men det er spesielle måter å gjøre ting på i forhold til andre språk, og hvis man ikke vet om de ender du opp med en diger bottleneck.
Uoptimalisert kjører det rundt 40% tregere enn C++ optimalisert.
Optimalisert rundt 20% tregere.

Uansett så er det viktigere med en effektiv algoritme enn et effektivt språk.



Sitat av Myoxocephalus Vis innlegg
Mulig jeg er dum nå, men hva skal man med det?
Vis hele sitatet...
Holde orden på alle relaterte prosjekter samtidig.


Sitat av Myoxocephalus Vis innlegg
Ehrm... Dokumentasjon, ja. Det er en fin traktor, det!
Vis hele sitatet...
Spesielt når andre skal ta over prosjektet ditt er det en fin traktor å ha tilgang til!


Sitat av Myoxocephalus Vis innlegg
Akkurat hva legger du i dette? Hvis du mener at editoren kan konfigureres opp og ned og mente, så kan du gjøre det med emacs og VI også. Min .emacs er vel i skrivende stung på litt under 2k linjer, tror jeg. Må vel rydde litt der en dag.
Vis hele sitatet...
Enten skrive egne plugins, eller å integrere nye funksjoner direkte inn i kildekoden til Eclipse.


Sitat av Myoxocephalus Vis innlegg
Uenig.
Du vil alltid være mest komfortabel med det du er vant med. For å begynne med linux var jeg nødt til å gå langt utenfor komfortsonen. Men du verden hvor mye jeg tjente på det!
Vis hele sitatet...

Smaken er som baken. Foretrekker selv Windows måten å arbeide på, og når jeg trenger mer linux spesifikke ting har jeg Shells som kan ordne det.

Er også en fordel å holde seg på samme plattform som kunden når man utvikler.


Sitat av Myoxocephalus Vis innlegg
Virkelig?
Hvor mange, tja, kvantekjemiske programpakker er det som kjører på java eller C#, da? Skal vi se... På denne lista finner vi én enkelt entry hvor java er involvert (scigress), og hvis jeg ikke tar skammelig feil er java kun brukt for GUI der (forøvrig noe kun de færrste slike programsuiter er utrustet med), integralrutinene er nok skrevet i fortran eller C som vanlig. Tar forbehold om at jeg kan ta feil; jeg har ikke personlig erfaring med akkurat denne, men som vi uansett kan se, så er fortran og C++ overrepresentert. Av de mest kjente - turbomol, molpro, dalton, gaussian, dirac, adf, gamess, molcas og orca, så kan du jo selv se hva som går igjen. Og ja, jeg er fullstendig klar over at det er flere programmer som ikke har fått noen entry på wikipedialisten her, men dette er stort sett snakk om temmelig sære greier som ikke ser særlig mye bruk utenfor forskningsgruppen hvor de blir utviklet og vedlikeholdt. Og selv der - kvantekjemikere bruker fortran.

Hva andre tungregningsrelaterte fagfelt angår, så er det mitt entydige inntrykk at dette også gjelder i aller høyeste grad for dem. På samtlige tverrfaglige seminarer hvor jeg har deltatt og møtt geofysikere, astrofysikere, meterologer og slikt, så har jeg aldri møtt noen som bruker java til seriøs tungregning. Aldri. Det blir stadig mer populært å bruke python i kombinasjon med C eller fortran, men ingen bruker java eller C#. Dersom man bare vil ha en enkelt løsning på noen få hundre linjer som likevel går tålelig fort, så bruker man heller i verste fall matlab eller python med numpy - det stiller enda lavere krav til utvikleren enn java, og på matriseoperasjoner (som stort sett er det man trenger) så går det egentlig ganske fort. Du må gjerne poste moteksempler hvis du har noen; dette har jeg opprikt interesse av å se.

Det du må huske på er at tungregningskode egentlig er ganske annerledes veldig mye annet. Du trenger ikke bekymre deg like mye for kompatibilitet eller brukervennlighet; det er skrevet av særinger og for særinger. I tillegg ligger det veldig nære det datamaskinen er best på. Selv om fortrankode kan være kryptisk og komplisert, så er ofte matematikken som er implementert det som er vanskeligst å sette seg inn i. Og dette er også grunnen til at fortran i aller høyeste grad er svært relevant: har du implementert en algoritme som innebærer matriseoperasjoner i stor stil på en fornuftig måte med fortran, så er koden din allerede ganske optimal. Det er 'lett' å skrive effektiv kode med fortran! De tingene java gjør enkelt, de tingene trenger du ikke.

Du trekker inn parallelkoding, og igjen - parallellisering i C/C++ eller fortran, det brukes i stor stil. Paralellisert kode skrevet i fortran går fortere enn parallelisert kode skrevet i java, og det er stort sett kamp om allokeringene på clusterne. Så da velger man heller et språk som stiller litt krav til utvikleren, enn et som aldri kan optimeres til et nivå hvor det blir levedyktig.
Vis hele sitatet...
Jeg snakket ikke om Java her, men om parallell prosessering, aka CUDA / OpenCL, eller distribuert kjøring.

Du kompilerer "kernels" i programmet, som så blir kjørt på dedikerte regnemaskiner. Det finnes bindinger til dette i de aller fleste språk, så hvilket språk du kaller disse ifra har veldig lite å si.

Mange av de tradisjonelle "regne-programmene" er legacy-kode, og vil dø ut og bli erstattet med mer effektive system basert på dette når den tid kommer.
Sitat av Ross Vis innlegg
Nå har jeg selv skrevet mer C++ iløpet av min tid enn Java, men av egen erfaring er ikke Java så tregt som folk skal ha det til.

Men det er spesielle måter å gjøre ting på i forhold til andre språk, og hvis man ikke vet om de ender du opp med en diger bottleneck.
Uoptimalisert kjører det rundt 40% tregere enn C++ optimalisert.
Optimalisert rundt 20% tregere.
Vis hele sitatet...
20% tregere er helt uakseptabelt er når du driver med tungregning. Hvis du ber om å få låne halvparten av datakraften til et stort cluster i tre måneder, så begynner faktisk slike ting å telle.
Det som slår seg frem i større og større grad nå er å bruke python til de tingene som ikke er kritiske, og heller finne frem C eller fortran hvis man får en bottleneck. Da har man rett og slett ikke bruk for java, derfor er det heller ingen som bruker det.

Sitat av Ross Vis innlegg
Uansett så er det viktigere med en effektiv algoritme enn et effektivt språk.
Vis hele sitatet...
Selvsagt.
Men hvis språket den er implementert i ikke kan optimeres til et saklig nivå, så er det helt meningsløst å gjøre det. SKal du teste algoritmen, så bruker du noe annet som er enda enklere. For meg fremstår java og C# som et godt kompromiss mellom hastighet og enkelhet, men det fyller en nisje man ikke har behov for alle steder. Det er ikke slik at java ikke blir brukt fordi forskere er konservative gamle gubber, det blir ikke brukt fordi det til deres formål er totalt overflødig.

Sitat av Ross Vis innlegg
Holde orden på alle relaterte prosjekter samtidig.
Vis hele sitatet...
Det har jeg aldri opplevd som et problem. Ryddig git-arkiver er essensielt, men hvis det er på stell er stort sett sysakene i orden. Uansett, så mistenker jeg at dette er mer aktuelt for de som sysler med f.eks mange ulike webprosjekter samtidig?
Nå har jeg faktisk laget meg et par ulike modes i emacs slik at jeg lett kan skifte mellom ulike kodestandarder hvis det er nødvendig, men jeg har fortsatt tilgode å få bruk for det. Dette er etter sigende også lett med VI.

Sitat av Ross Vis innlegg
Spesielt når andre skal ta over prosjektet ditt er det en fin traktor å ha tilgang til!
Vis hele sitatet...
Hah!
Det gjelder å gjøre seg uunnværlig, vet du... Men seriøst, den dokumentasjonen som er nyttigst i min verden er en beskrivelse av matematikken de ulike funksjonene implementerer. Selve koden kan man alltids tråkle seg gjennom, men en beskrivelse av hvilken fysisk tankegang man legger til grunn - hvordan de har utledet ligningene de implementerer og hvorfor... Det er gull verdt. Det kan ikke automatiseres så det ender alltid opp som en lengre kommentar med store innslag av tex-notasjon på begynnelsen av rutinene. Mer seriøs dokumentasjon, brukermanualer og slikt, det skriver man i latex. Emacs er forøvrig en veldig fin editor for latex.

Sitat av Ross Vis innlegg
Enten skrive egne plugins, eller å integrere nye funksjoner direkte inn i kildekoden til Eclipse.
Vis hele sitatet...
Det kan du gjøre med emacs også. Og i VI, mistenker jeg.

Sitat av Ross Vis innlegg
Er også en fordel å holde seg på samme plattform som kunden når man utvikler.
Vis hele sitatet...
Se, vi er nok på litt ulike planeter. 'Kunden', i den grad de finnes, vil ha noe som kjører på clusteret deres (linux) eller så vil de ha ferdige resultater. Jeg skjønner at de som skriver programmer for windowsmaskiner bruker windows selv, men det er nokså fjernt fra tungregningsmiljøet.

Sitat av Ross Vis innlegg
Jeg snakket ikke om Java her, men om parallell prosessering, aka CUDA / OpenCL, eller distribuert kjøring.
Det finnes bindinger til dette i de aller fleste språk, så hvilket språk du kaller disse ifra har veldig lite å si.
Vis hele sitatet...
Hvis det er denslags du sikter til, så vil jeg poengtere at her er interfacen like jævlig enten du bruker fortran, python eller java. CUDA tok aldri helt av fordi det er veldig knotete å skrive om algoritmer til noe som kan parallelliseres med lite minne uten å få mye overhead, og det er for få store arkitekturer som støtter det - det er veldig lite givende å bruke masse ressurser på å skrive en parallelisert sak som blir grisetreg fordi kommunikasjon mellom nodene ikke går fort nok. Men et annet eksempel på den samme tankegangen (som i større grad brukes) vil jo være blas og lapack, som er standardbibliotekene for ulike matriseoperasjoner. Disse er ekstremt raske, optimert på alle tenkelige nivåer og skrevet i fortran. Men de er ikke nok! Du havner veldig ofte i en situasjon hvor du trenger elementer som enten ikke støttes, eller så kan algoritmen din forenkles i noen sære spesialtilfeller som matcher akkurat det du gjør. Da har du ting som må være optimert på lavt nivå.

Sitat av Ross Vis innlegg
Mange av de tradisjonelle "regne-programmene" er legacy-kode, og vil dø ut og bli erstattet med mer effektive system basert på dette når den tid kommer.
Vis hele sitatet...
Nei.
For det første: det startes stadig nye prosjekter i fortran. Man bruker da selvsagt F90/95 eller F03 (ikke F08 av en eller annen grunn), men det blir helt feil å kalle slik kode legacykode.
For det andre: levetiden til tungregningsapplikasjoner er lang. Det er slettes ikke uvanlig å bruke kode som ble utviklet på 70-tallet og det er fortsatt folk som jobber med
å videreutvikle slike prosjekter.

Det er hovedsaklig to grunner til at fortran har et dårlig rykte. Den ene er at F77 og eldre versjoner er hullkortkompatible og ser forferdelige ut uansett hva du gjør. Den andre grunnen er at de som tradisjonelt skriver slik kode kun interesserer seg for effektivitet og bryr seg katten om lesbarhet og kompatibilitet - av akademikere, for akademikere. Men hvis man gjør seg litt flid, så er det fullt mulig å lage kode som er strukturert p åen hensiktsmessig måte med de nyere versjonene av fortran.

Nå, dette blir tidenes avsporing, men jeg er lei av at programmeringsverdenen er så sekularisert som den er. Altfor mange går rundt og tror at det som gjelder på det frie markedet er Veien og Lyset overalt og at ting som fortran avgikk med døden en gang på 90-tallet. Det er ikke riktig! Det er ikke sikkert at hurtig utvikling er så veldig relevant for alle. Eller at noe skal være plattformuavhengig eller lett å bruke. Man må se utenfor sin egen boble og inn i naboens boble, og der vil man oppleve at ting er snudd opp ned. De problemene man har et sted anses som uvesentlige et annet, og vice versa.
Sitat av Myoxocephalus Vis innlegg
Virkelig?
Hvor mange, tja, kvantekjemiske programpakker er det som kjører på java eller C#, da?
Vis hele sitatet...
Jeg orker ikke lese hele tråden akkurat nå, og er for det meste enig med det jeg har lest fra deg hittil -- men fremtida (og til dels nåtida) for parallellprogrammering og ytelse er ikke Fortran. men det er *ihvertfall* ikke C# eller Java. det er Haskell, Ada, Erlang, og lignende språk som gjelder.
For å gå rett på sak her, Codeblocks er en god IDE for C, C++ og Fortran til Windows.
En av fordelene er at Codeblocks også finnes til Linux, så hvis du skulle møte på en eller annen utfordring som ikke lar seg løse på Windows kan du alltids hoppe over til Linux å få det samme grensesnittet å jobbe med.

Andre fordeler:
Open Source! GPLv3.
Written in C++. No interpreted languages or proprietary libs needed.
Extensible through plugins

Multiple compiler support:
GCC (MingW / GNU GCC)
MSVC++
clang
Digital Mars
Borland C++ 5.5
Open Watcom
...and more
Vis hele sitatet...