Gebruik van "juiste" coderingspraktijken voor computationele fysica?

Moderators: jkien, Xilvo

Reageer
Berichten: 1

Gebruik van "juiste" coderingspraktijken voor computationele fysica?

Toen ik op de middelbare school leerde coderen met C ++, leerden we hoe we klassen moesten gebruiken en hoe ze u kennelijk helpen om uw code te beveiligen.

Nu ik C ++ eigenlijk gebruik om moleculaire simulaties te doen, en alle andere fancy-pants computationele fysica-dingen, kan ik niet anders dan me afvragen dat ik nooit een enkele klasse rechtstreeks heb gebruikt bij het schrijven van code.

Ik begrijp dat het te maken heeft met het feit dat ik geen code schrijf die een gebruiker kan gebruiken, maar alleen voor mezelf en voor mijn eigen doeleinden, maar ik zou graag willen weten wat anderen hiervan vinden.

Het komt vooral omdat ik mezelf vaak in de maling neem omdat ik niet weet hoe ik "correct" moet coderen, en mijn projecten steeds te ingewikkeld maak om mezelf beter te laten voelen, te falen en me er uiteindelijk slechter over te voelen.

Gebruikersavatar
Berichten: 897

Re: Gebruik van "juiste" coderingspraktijken voor computationele fysica?

Beste,

De juiste coderingspraktijk bestaat niet. Iedere taal is beter voor verschillende doeleinden en de stijl gaat afhangen of en met wie je allemaal moet samenwerken. De meeste fysici schrijven code puur voor hen zelf om iets te simuleren of een data analyse te automatiseren. De meeste fysici hebben dan ook geen "manieren" wat betreft het schrijven van propere code. Dit hoeft ook helemaal niet, als jij er aan uit kan dan is het ok. Indien collega's er ook gebruik van maken voeg dan gewoon voldoende commentaar toe. Weet niet goed waar jij precies mee bezig bent en C++ is zeker niets mis mee maar de meeste fysici programmeren tegenwoordig in python. Dit is een zeer gemakkelijke taal en je kan code achteraf omzetten naar c code waardoor je toch computationeel heel efficiënt werkt. Python heeft ook een enorme library aan wetenschappelijke code voor allerlei doeleinden waar je naar hartenlust kan uitkiezen wat je nodig hebt zodat je niet twee keer het wiel hoeft uit te vinden.

Ik heb ook leren object gericht programmeren maar heb dit later ook amper gebruikt. De meeste klassen die fysici nodig hebben bestaan al, matrices, getallen etc... . Meestal ben je gewoon een scriptje aan het schrijven, een paar methoden schrijven met je parameters en verder kun je alles met de gewoonlijke if then, while etc.... . Het is niet omdat je weet hoe je overerfbare klassen enzovoort kunt gebruiken dat dat ook hoeft.

Gebruikersavatar
Moderator
Berichten: 4.096

Re: Gebruik van "juiste" coderingspraktijken voor computationele fysica?

Opmerking moderator

Deze topic past beter in het subforum "Informatica en programmeren", en is daarom verplaatst.

Als je vindt dat je code niet duidelijker wordt met klassen, dan moet je ook geen klassen gebruiken. Je moet de code voor jou laten werken, en niet andersom.

Ik ben zelf professioneel programmeur, en gebruik klassen op dagelijkse basis. Ze zijn in zeer veel gevallen heel nuttig om code te structureren. Indien je een grote systeemapplicatie bouwt zonder klassen, is het lastig om dit op een nette manier te doen. Klassen representeren "dingen" in de wereld, met eigenschappen en gedrag. Als je over je domein nadenkt, denk je ook in deze termen na, en dus vereenvoudigt het het denkproces. In het algemeen zijn klassen dus heel handig, en waarschijnlijk krijg je het daarom geleerd.

Het draaien van natuurkundige simulaties is echter een heel specifieke toepassing. Hierbij zijn de "dingen" waar je over nadenkt meestal niet goed te representeren met een klasse, maar meer met een matrix. In dat geval is het veel belangrijker dat je die matrices als centrale objecten in je code zet.

Reageer