summaryrefslogtreecommitdiff
path: root/software/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'software/index.md')
-rw-r--r--software/index.md120
1 files changed, 120 insertions, 0 deletions
diff --git a/software/index.md b/software/index.md
new file mode 100644
index 0000000..bd53ebf
--- /dev/null
+++ b/software/index.md
@@ -0,0 +1,120 @@
+# Software
+
+**NB!**
+Dette er en blot beslægtet stjerne til inspiration
+(*ikke* en data-stjerne).
+
+Skriv kode i åbne, inkluderende sprog.
+Dvs. sprog med en åben standardardiseret arkitektur,
+forankret i en organisation uden særlige økonomiske interesser,
+sikret med en åben og fri licens.
+
+## Eksempler
+
+Blandt scripting-sprog
+(dvs. sprog som afvikles gennem en fortolker -
+ofte anvendt til relativt simple opgaver og hurtige skitser)
+er de åbne og uafhængige sprog [Elixir] og [TypeScript] [værdsat],
+og [TypeScript], [Python] og [JavaScript] er [populære].
+
+[Elixir]: https://en.wikipedia.org/wiki/Elixir_(programming_language)
+ "Elixir - et funktionelt, parallelliseret sprog afviklet i samme miljø som Erlang"
+
+[TypeScript]: https://da.wikipedia.org/wiki/TypeScript
+ "TypeScript - en udvidelse af JavaScript til at håndtere statiske datatyper"
+
+[Python]: https://da.wikipedia.org/wiki/Python_(programmeringssprog)
+ "Python - dynamisk multi-paradigme-sprog (imperativt, funktionelt, objektorienteret m.m.)"
+
+[JavaScript]: https://da.wikipedia.org/wiki/JavaScript
+ "JavaScript - dynamisk multi-paradigme-sprog (imperativt, funktionelt, objektorienteret m.m.)"
+
+Blandt "rigtige" programmeringssprog
+(dvs. sprog som afvikles direkte i hardware -
+ofte anvendt til store og komplekse opgaver, bl.a. operativsystemer)
+er det åbne og uafhængige sprog [Rust] ekstremt [værdsat],
+mens klassiske [C] og [C++] er [populære].
+
+[Rust]: https://da.wikipedia.org/wiki/Rust_(programmeringssprog)
+ "Rust - multi-paradigme-sprog (funktionelt m.m.) med robust hukommelseshåndtering"
+
+[C]: https://da.wikipedia.org/wiki/C_(programmeringssprog)
+ "C - multi-paradigme-sprog (imperativt og struktureret)"
+
+[C++]: https://da.wikipedia.org/wiki/C++
+ "C++ - multi-paradigme-sprog (imperativt, struktureret og objektorienteret) baseret på C"
+
+Blandt "beskyttede" programmeringssprog
+(dvs. sprog som afvikles i en virtuel maskine -
+ofte anvendt til større opgaver ovenpå operativsystemer)
+er det åbne og uafhængige sprog [Clojure] [værdsat],
+og [Java] er [populært].
+
+[Clojure]: https://en.wikipedia.org/wiki/Clojure
+ "Clojure - funktionelt sprog baseret på Lisp afviklet under Java"
+
+[Java]: https://da.wikipedia.org/wiki/Java_(programmeringssprog)
+ "Java - multi-paradigme-sprog (objektorienteret m.m.) afviklet i en virtuel maskine"
+
+Blandt opmærkningssprog
+(dvs. sprog til at strukturere og annotere -
+ofte anvendt til dokumentation og præsentation)
+er [Markdown] [værdsat (som asynkront samarbejdsværktøj)],
+mens [HTML] og [CSS] er [populære (i Stack Overflow's survey)].
+
+[Markdown]: https://en.wikipedia.org/wiki/Markdown
+ "Markdown - opmærkningssprog primært til læsevenlig redigering af hypertekst"
+
+[HTML]:
+ "HTML - opmærkningssprog primært til strukturering af hypertekst i web-browsere"
+
+[CSS]:
+ "CSS - opmærkningssprog primært til præsentation af hypertekst i web-browsere"
+
+[værdsat]: https://survey.stackoverflow.co/2023/#section-admired-and-desired-programming-scripting-and-markup-languages
+ "Stack Overflow udvikler-survey 2023 - eftertragtede og værdsatte sprog"
+
+[værdsat (som asynkront samarbejdsværktøj)]: https://survey.stackoverflow.co/2023/#section-admired-and-desired-asynchronous-tools
+ "Stack Overflow udvikler-survey 2023 - eftertragtede og værdsatte asynkrone samarbejdsværktøjer"
+
+[populære]: https://www.tiobe.com/tiobe-index/
+ "TIOBE Indeks - populære programmeringssprog"
+
+[populære (i Stack Overflow's survey)]: https://survey.stackoverflow.co/2023/#section-most-popular-technologies-programming-scripting-and-markup-languages
+ "Stack Overflow udvikler-survey 2023 - populære sprog"
+
+## Faldgruber
+
+Et programmeringssprog kan være *politisk* ladet.
+Eksempelvis er [C#] udviklet af Microsoft
+som en (mindre) del af et [storstilet] forsøg på at [udmanøvrere] [Java],
+og selvom det principielt kan afvikles andre steder
+anvendes det i idag i praksis mest på Microsofts egne systemer.
+
+[storstilet]: https://www.cnet.com/tech/tech-industry/microsofts-holy-war-on-java/
+ "artikel om Microsofts hellige krig imod Java"
+
+[udmanøvrere]: https://en.wikipedia.org/wiki/Visual_J%2B%2B#Sun's_litigation_against_Microsoft
+ "Retssag imod Microsoft om bevidst forvanskning af Java"
+
+Et programmeringssprog kan være *kulturelt* ladet.
+Eksempelvis er udvikler-kulturen omkring [Java] præget
+af en stærk interesse for [enterprise services],
+som smitter af på hvordan også kollektivt orienterede kodebiblioteker organiseres,
+så sproget i praksis mest anvendes i hierarkisk organiserede grupper
+(sjældent indenfor moderne agil programmering).
+
+Et programmeringssprog kan være *sikkerheds*ladet.
+Eksempelvis har [PHP] historisk haft mange sikkerhedsfejl
+og selvom selve sproget er blevet strammet op i nyere tid
+har bl.a. en udviklerkultur præget af pragmatikere gjort
+at der fortsat i dag løbende registreres [mange sikkerhedshuller] i PHP-kode.
+
+[C#]: https://da.wikipedia.org/wiki/C_Sharp
+ "C# - multi-paradigme-sprog (objektorienteret m.m.) afviklet i en virtuel maskine"
+
+[PHP]: https://da.wikipedia.org/wiki/PHP
+ "PHP - dynamisk multi-paradigme-sprog (imperativt, funktionelt, objektorienteret m.m.)"
+
+[mange sikkerhedshuller]: https://en.wikipedia.org/wiki/PHP#Security
+ "PHP sikkerhedsproblemer"