View Single Post
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!