Permalänk
Datavetare
Skrivet av CyberVillain:

I mina system kan flera 100 utvecklare passera under dess livslängd, man kan kommentera hur mycket man vill men i slutet är det ändå tiden det tar för en ny utvecklare att sätta sig in i koden som räknas. Då är ett lätt använt API samt en tydlig och skalbar domän viktigast

Skickades från m.sweclockers.com

Om historien ska vara måttstock så kommer koden jag tog statistik från passera tiotusentals utvecklare under sin livslängd, de flesta kommer endast använda den men rätt många kommer behöva sköta underhåll. Kommenterar kring varför man gör något är helt ovärderligt 5-10 kanske 20 år senare, de som ursprungligen gjorde koden lär inte vara kvar och även om de är det så lär de knappast komma ihåg detaljer kring varför man gjorde på ett visst sätt om det inte är totalt uppenbart, vilket inte är fallet t.ex. när man implementerar en standard eller beror på ett visst beteende av underliggande lager (som kan ändra i framtiden och då är det väldigt värdefullt att hitta en förklaring till varför).

Skrivet av Grönahunden:

ja skulle ju kunna googla på vad Erlang betyder fast då går man ju förbi hela syftet med tråden.
borde man vet vad det är för något ? finns det nån användning av detta förutom i programmering ?

gissning har det nånting med översättning av text att göra ?

Syftet var väl
"Kan vi inte lägga ut några rader kod, och se vad folk tror att de står för?"
Tror det redan är rätt uppenbart att för folk som inte programmerar är allt utom möjligen de triviala fallen totalt hopplösa att reda ut.

Erlang-koden räknar antalet element av med ett visst värde och gör en form av histogram

[a,b,a,c,b,b] -> [a:2 b:3 c:1]

D.v.s. det fanns 2 "a", 3 "b" och 1 "c"

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Avstängd

Det börjar ju låta i storleksornignarna som mina open source projekt

https://www.nuget.org/profiles/AndersMalmgren

edit: Okej, nej kommenterar hjälper inte till att göra koden mer förvaltningsbar, det enda som gör kod förvaltningsbar är kodkvalitet.

Visa signatur
Permalänk
Skrivet av Yoshman:

Syftet var väl
"Kan vi inte lägga ut några rader kod, och se vad folk tror att de står för?"
Tror det redan är rätt uppenbart att för folk som inte programmerar är allt utom möjligen de triviala fallen totalt hopplösa att reda ut.

Erlang-koden räknar antalet element av med ett visst värde och gör en form av histogram

[a,b,a,c,b,b] -> [a:2 b:3 c:1]

D.v.s. det fanns 2 "a", 3 "b" och 1 "c"

efter att ha läst i tråden är det ju rätt många som har uppfattningen att skriver man bara (((()))) på rätt sätt så kan ju vem som helst förstå allting ?

Visa signatur

hej Achmed Länken till bästa tråden #15549644

Permalänk
Datavetare
Skrivet av CyberVillain:

Det börjar ju låta i storleksornignarna som mina open source projekt

https://www.nuget.org/profiles/AndersMalmgren

edit: Okej, nej kommenterar hjälper inte till att göra koden mer förvaltningsbar, det enda som gör kod förvaltningsbar är kodkvalitet.

Den erfarenhet man har från att utveckla kod för tillämpningar där buggar kan betyda att folk dör håller inte med din analys.

Statistik från en fil som innehåller dokumentation på den nivå som krävs för sådana tillämpningar

http://cloc.sourceforge.net v 1.53 T=0.5 s (2.0 files/s, 3678.0 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- C 1 156 1281 402 -------------------------------------------------------------------------------

Hur ska du kunna förmedla kunskap som inte explicit uttrycks i koden på något annat sätt än genom att kommentera den? Självdokumenterade kod är möjligen något konsulter som fått slut på fakturerbar tid hävdar existerar, säljer du produkter där källkod ingår kommer kunderna kräva att den är väldokumenterad. Skriver du kod för tillämpningar som nämns ovan kommer du aldrig igenom certifieringsprocessen utan dokumentation, då ska även hur förklaras på en nivå nivå som gör det möjligt för en engelsktalande icke-programmerare att förstå varje detalj i programmet.

Dokumentation kan däremot aldrig fixa dålig skriven kod, ett bra lackmustest på det är huruvida man känner att det krävs dokumentation på frågan hur (undantaget här är kod som ska certifieras då den processen kräver svar på frågan hur).

Skrivet av Grönahunden:

efter att ha läst i tråden är det ju rätt många som har uppfattningen att skriver man bara (((()))) på rätt sätt så kan ju vem som helst förstå allting ?

Att läsa kod för någon som förstår engelska är nog lite som försöka förstå en konversation mellan två personer som pratar schweizertyska när man har lite skoltyska i bagaget. Vissa ord kommer man förstå men något sammanhang går inte att tyda.

Glömde säga: med "det är Erlang" menade jag att språket det var skrivet i heter "Erlang". Det första exemplet var skrivet i Emacs Lisp, som jag skrev är Lisp som språk rätt lätt att lära sig, men är ju som ett mänskligt språk som är lätt att lära sig: förstår man det inte alls hjälper det inte att det är lätt att lära sig.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Avstängd

Jag är den första att inte försvara gamla arbetssätt och det är precis vad det det låter som ni håller på med. BDD och TDD är så mycket viktigare för att hålla hög kvalitet på koden än vad kommentarer är. Den dagen jag ligger döende och är uppkopplad mot en maskin som håller mig vid liv hoppas jag mjukvaran i den är skriven av ett team som jobbar på mitt sätt

edit: Jag använder detta verktyg, guld http://www.specflow.org/

Visa signatur
Permalänk
Medlem

Kod är, och kommer alltid förbli, rena grekiskan för oinsatta. Råkar du kunna grekiska är det hebreiska. Eller ryska.

Skrivet av Tobberoth:

Jag rekommenderar följande lilla perl snutt:

s//:o/;say length$1 while s/(.*):(.*)/$2:$1$2/

Enkelt. Skillnaden mellan hur lång någon påstår deras penis är, och hur lång den egentligen är.

B!

Visa signatur

Allting jag skriver är om inget annat uttrycks, min åsikt! Ingenting måste vara dagens sanning enligt din åsikt, och gör du antaganden baserade på mina åsikter hoppas jag att du övervägt mer än bara just min åsikt.

Permalänk
Hedersmedlem
Skrivet av CyberVillain:

Jag är den första att inte försvara gamla arbetssätt och det är precis vad det det låter som ni håller på med. BDD och TDD är så mycket viktigare för att hålla hög kvalitet på koden än vad kommentarer är. Den dagen jag ligger döende och är uppkopplad mot en maskin som håller mig vid liv hoppas jag mjukvaran i den är skriven av ett team som jobbar på mitt sätt

Bara för att man anser att luft är viktigare än vatten för att överleva så betyder inte det att vatten är värdelöst.

Dokumentation, test och kommentarer fyller olika funktioner och kan (och bör) alla existera samtidigt. Dokumentationen (som initialt kanske enbart består av en specifikation) är rättesnöret för testens utformning, testsviten ser till att koden gör vad den ska, kommentarer kan hjälpa till med att förklara hur koden gör det den ska på en nivå som kan vara fullständigt ointressant för både dokumentationen och/eller testen.

Ligger jag beroende av maskiner så hoppas jag att mjukvaran utvecklats av ett team som inte blint förespråkar en viss isolerad utvecklingsmetod framför andra beroende på vad som är "modernt" eller ej. Livsuppehållande maskiner eller kritisk styrningsmjukvara kan kräva andra metoder än vetenskaplig analyskod, som kan kräva andra metoder än webbutveckling, som kan kräva andra metoder än interna affärssystem, etc.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Datavetare
Skrivet av CyberVillain:

Jag är den första att inte försvara gamla arbetssätt och det är precis vad det det låter som ni håller på med. BDD och TDD är så mycket viktigare för att hålla hög kvalitet på koden än vad kommentarer är. Den dagen jag ligger döende och är uppkopplad mot en maskin som håller mig vid liv hoppas jag mjukvaran i den är skriven av ett team som jobbar på mitt sätt

edit: Jag använder detta verktyg, guld http://www.specflow.org/

Är ju inte motsatsförhållande mellan TDD och behovet att dokumentera varför något görs. Dokumentation för testet beskriver vilken del av en standard den tester, koden har kommentar som talar om att detta görs för att det krävs av standarden, själv vill jag ha den relevanta texten koden implementerar som kommentar och försöker välja namn på funktioner/variabler så de matchar texten så nära som möjligt.

Använder TDD och "agila" metoder men Har inte använt termen BDD tidigare. Efter att kikat på wikipedia sidan för BDD ser ju ut som t.ex. Scrum är BDD då definitionen av "stakeholder", acceptanskriterier, sättet man skriver user-stories etc matchar sättet vi jobbar med Scrum.

I livsuppehållande system och liknande handlar det om att domänexperter ska vid behov kunna sätta sig in exakt vad ett program gör, dessa domänexperter är typiskt inte programmerare vilket är anledningen till att man måste dokumentera hur på ett sätt som inte kräver programmeringskunskap (och pseudokod är inte tillåtet).

I detta läge måste man även "skriva tester" för kommentarerna. Rent praktiskt gör man så att all text som beskriver hur programmet fungerar ger man till ett test-team. De får sedan en binär som byggd från källkoden man dokumenterat. Kravet är att de ska från beskrivningen kunna göra tester som exekverar 100% av alla maskinkodsinstruktioner i binären, lyckas de inte med detta antar man att det saknas något i beskrivningen.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Avstängd

Men det är helt värdelöst att dokumentera domänen i koden! Jag säger inte att dokumentation inte ska få finnas, utan den har inget i koden att göra är min poäng. Jag beskriver min domän via flödesdiagram, UML etc men den ligger inte i koden.

Har man hög testtäckning och bra BDD tester så mnimerar det behovet av dokumentationen då testerna i sig är dokumentation

Visa signatur
Permalänk
Datavetare
Skrivet av CyberVillain:

Men det är helt värdelöst att dokumentera domänen i koden! Jag säger inte att dokumentation inte ska få finnas, utan den har inget i koden att göra är min poäng. Jag beskriver min domän via flödesdiagram, UML etc men den ligger inte i koden.

Har man hög testtäckning och bra BDD tester så mnimerar det behovet av dokumentationen då testerna i sig är dokumentation

unit-test: visar de typiskt att varje separat modul faktiskt implementerar sitt externa API
integrations-test: visa att moduler kan kombineras via sina externa APIer på önskvärt sätt
system-test: visar t.ex. prestanda/skalbarhet uppfyller målen, har man ett GUI testar man att det är användbart

Inget av detta svarar på frågan varför du gjort på ett visst sätt. Behovet att att behöva dokumentera hur saker fungerar minskas inte heller av tester, det minskar man genom att bryta ner sitt program i mindre bitar så namnet på funktionen beskriver uppgiften och implementationen är så trivial att det är uppenbart hur den fungerar, tror alla här är överens om just detta. Här tycker jag McCabe cyclomatic complexity är ett väldigt bra hjälpmedel, håller man alla funktioner/metoder under 5-6 är logiken normalt sett trivialt, det är lämpligt att ha hårt gräns på runt 10 (går att testa automatiskt att all kod håller sig under ett visst värde).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Avstängd

Exakt, kod ska vara självförklarande, precis som jag skrev några sidor tillbaka

Skickades från m.sweclockers.com

Visa signatur
Permalänk
Datavetare
Skrivet av CyberVillain:

Exakt, kod ska vara självförklarande, precis som jag skrev några sidor tillbaka

Tror nog alla är med på detta.

Det behövs fortfarande kommenterar för varför. Det behövs också dokumentation vad externa API förväntas lösa för uppgift, lämpligen har man även exempel som visar hur APIet är tänkt att användas. Vare sig tester eller välskriven/enkel kod ersätter detta.

Läser du dokumentationen på MSDN eller tittar du i källkoden för .NET när du ska lura ut hur saker fungerar?

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av JamesBanana:

Min första tanke är ju att HTML och CSS inte är programmering, det är markup (textformatering).

Jag personligen är inte så fixerad vid hur kod skrivs, men blir förvirrad av hög abstraktionsgrad och arg när koden inte är uppdelad. Det viktigaste är att koden är läsbar och modifieringsbar. Ett kodstycke som är svåranpassat är ett dåligt kodstycke och bör skrivas om till en mer hanterbar standard.

Vadå inte programmering? Du bygger ju upp ett utseende, inte bara på texten och var texten ska befinna sig och i vilken form utan även om du nu gör en hemsida hur den ska se ut osv. Givetvis är det programmering men det är väl inte i den mest avancerade formen

Permalänk
Avstängd

Faktiskt välldigt ofta jag dekompilelerar de inbyggda klasserna för att se hur de fungerar under huven.

Skickades från m.sweclockers.com

Visa signatur
Permalänk
Skrivet av Friterad:

Vadå inte programmering? Du bygger ju upp ett utseende, inte bara på texten och var texten ska befinna sig och i vilken form utan även om du nu gör en hemsida hur den ska se ut osv. Givetvis är det programmering men det är väl inte i den mest avancerade formen

Självklart är det inte programmering! Vad har "Du bygger ju upp ett utseende" med programmering att göra?
http://stackoverflow.com/questions/145176/is-html-considered-a-programming-language

Visa signatur

(Asus Z87-A && i7-4770K && ASUS Strix GTX 970 && Fractal Design Define R4 && Corsair CX500M && Samsung 840 Evo 500GB && Noctua NH-U9B SE2 && (Arch Linux 4.2.3-1 || Windows 10 Pro))

Permalänk
Medlem
Skrivet av krille0x7c2:

Självklart är det inte programmering! Vad har "Du bygger ju upp ett utseende" med programmering att göra?
http://stackoverflow.com/questions/145176/is-html-considered-a-programming-language

Det där står om bara HTML, som har mest med text att göra, hen jag svarade nämnde både HTML och CSS. Sedan förstår jag inte varför det inte skulle vara programmering, man skriver kod som ger instruktioner till någonting. Bara för att man inte programmerar ett program eller en maskin så är det ju fortfarande samma princip, du ger genom ett datorspråk instruktioner om utseende och vad som skall hända när man gör si och så. HTML och CSS är en form av programmering men mer inom webben, därför brukar man även kalla det webbprogrammering

Permalänk
Datavetare
Skrivet av CyberVillain:

Faktiskt välldigt ofta jag dekompilelerar de inbyggda klasserna för att se hur de fungerar under huven.

Skickades från m.sweclockers.com

Läser väldigt ofta genererad assembler när jag jobbar med prestandakritiska komponenter för att se att de konstruktioner man valt inte ställer till det för kompilatorn, skulle aldrig vilja använda något bara baserat på detta.

Har för att helt förstå saker som async/await och liknande genom att läsa CIL. Det senare är knappast ett substitut för informationen på MSDN, skulle vara extremt ineffektivt att försöka använda en ramverk/bibliotek på det sättet.

Kod utan kommenterar kring hur man ska använda produkten håller inte hög kvalité för den som ska använda den, effektivare/mer utbroderande att läsa vanligt skrivet språk som förklarar detta än läsa koden. Kod utan kommenterar kring varför kommer med stor sannolikhet få buggar introducerade i framtiden av välmenande personer som ska "förenkla" något.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Skrivet av Friterad:

Det där står om bara HTML, som har mest med text att göra, hen jag svarade nämnde både HTML och CSS. Sedan förstår jag inte varför det inte skulle vara programmering, man skriver kod som ger instruktioner till någonting. Bara för att man inte programmerar ett program eller en maskin så är det ju fortfarande samma princip, du ger genom ett datorspråk instruktioner om utseende och vad som skall hända när man gör si och så. HTML och CSS är en form av programmering men mer inom webben, därför brukar man även kalla det webbprogrammering

"vad som skall hända när man gör si och så" där har vi det! det gör du inte i HTML eller CSS, du bestämmer hur saker ska se ut. Sedan är ju varken HTML eller CSS kod.

Visa signatur

(Asus Z87-A && i7-4770K && ASUS Strix GTX 970 && Fractal Design Define R4 && Corsair CX500M && Samsung 840 Evo 500GB && Noctua NH-U9B SE2 && (Arch Linux 4.2.3-1 || Windows 10 Pro))

Permalänk
Medlem

Klart som fan HTML & CSS är programmering. Att hävda något annat är elitism, på samma nivå som "min pappa är bättre än din pappa". Att avfärda utseenderelaterad programmering, kan vara enkelt, men vem gör GUI't & frontenden till dina mjukvaror?

Att använda "hålla handen, klipp och klistra" editorer är inte programmering. Men det är ju sant oavsett vilket programspråk motorn använder i bakgrunden. Sen finns det ju olika grader av hålla handen... Jag har suttit med notepad och C kod, för att föröka lista ut vad som gått fel, för att sen mata resultatet av mina vedermödor genom en cygwin c kompilator, och hela tiden önskade jag mig något som kunde hålla mig i handen.
B!

Visa signatur

Allting jag skriver är om inget annat uttrycks, min åsikt! Ingenting måste vara dagens sanning enligt din åsikt, och gör du antaganden baserade på mina åsikter hoppas jag att du övervägt mer än bara just min åsikt.

Permalänk
Avstängd
Skrivet av Yoshman:

Läser väldigt ofta genererad assembler när jag jobbar med prestandakritiska komponenter för att se att de konstruktioner man valt inte ställer till det för kompilatorn, skulle aldrig vilja använda något bara baserat på detta.

Har för att helt förstå saker som async/await och liknande genom att läsa CIL. Det senare är knappast ett substitut för informationen på MSDN, skulle vara extremt ineffektivt att försöka använda en ramverk/bibliotek på det sättet.

Kod utan kommenterar kring hur man ska använda produkten håller inte hög kvalité för den som ska använda den, effektivare/mer utbroderande att läsa vanligt skrivet språk som förklarar detta än läsa koden. Kod utan kommenterar kring varför kommer med stor sannolikhet få buggar introducerade i framtiden av välmenande personer som ska "förenkla" något.

Nej, jag ser det förståss inte som ett substitut för dokumentation

Däremot tycker sällan xml dokumentationen ger så mycket, oftast förstår man av klassnamn och metoder etc. Då man inte förstår räcker inte xml doc ändå utan man måste kolla exempel på MSDN, Stackoverflow etc. Så jag står fast vid att kommentarer i koden ofta är överflödiga

Edit: dock är xml docs 100 ggr bättre än kommentarer direkt i koden

Skickades från m.sweclockers.com

Visa signatur
Permalänk
Hedersmedlem
Skrivet av -=Mr_B=-:

Klart som fan HTML & CSS är programmering. Att hävda något annat är elitism, på samma nivå som "min pappa är bättre än din pappa". Att avfärda utseenderelaterad programmering, kan vara enkelt, men vem gör GUI't & frontenden till dina mjukvaror?

Det handlar nog mindre om tankar om vad som är "coolt" eller inte (det verkar vara du som drar parallellen att "programmering" skulle vara "bättre" än design), och mer om definitioner av vad programmering är. Om ren informationsuppmärkning är programmering så är det programmering att fetstila text i ett Microsoft Word-dokument, och det kan man få tycka om man vill, men begreppet "programmering" har då blivit så brett att det tappat sin mening. Släpp tankar om vad som skulle vara "häftigt" eller ej, och fokusera i stället på att hitta en definition som fortfarande är användbar.

En fortfarande bred, men ändå rimligt begränsad, definition är att (dator)programmering handlar om att skriva instruktioner som kan få en dator att utföra uppgifter. Typiskt består det av något som kan ses som en algoritm, troligen med in- och utdata. Vill man dra definitionen långt så skulle ett HTML-dokument kunna sägas utföra instruktioner, där tolken är en webbläsare, men utöver exotiska kuriositeter (man skulle även kunna skriva en läsare som tolkade HTML-innehåll som C-kod och utföra godtyckliga saker, men det är inte vad som vanligen menas med HTML) så går det inte använda HTML+CSS för att exempelvis filtrera initialt okänd indata. I stället beskriver man en mängd statiska förhållanden och låter ett externt program tolka dessa.

Om man använder en IDE eller inte spelar i mina ögon inte in på vad som är programmering eller ej. Miljöer som LabView där användaren (i praktiken måhända bara i ett sorts ouppnåeligt idealfall, men ändå) har ett fullt WYSIWYG-gränssnitt och inte ska "behöva" skriva en enda rad kod är likväl enligt alla vettiga definitioner programmering. Att för hand författa ett simpelt LaTeX-dokument på ett bra sätt kan kräva betydande förkunskaper och ha oanade djup, men måste inte vara programmering för det (även om kompletta programmeringsinstruktioner finns tillgängliga i denna omgivning).

Begreppet "webbprogrammering" som nämndes innan brukar väl inte innefatta just ren HTML+CSS (dvs designsteget) utan snarare syfta på backend-programmering, även om gränsen kan vara lite flytande inom denna nisch. "Webbutveckling" är en bredare term som kan innefatta det mesta, inklusive rent fristående specifikationer av användargränssnitt.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem
Skrivet av krille0x7c2:

"vad som skall hända när man gör si och så" där har vi det! det gör du inte i HTML eller CSS, du bestämmer hur saker ska se ut. Sedan är ju varken HTML eller CSS kod.

Jo det är det, en länk till exempel, men sakerna som du "programmerar" är väldigt simpla helt enkelt, varför utesluter du dessa datorspråk? När jag kollar upp vad programmering är för något, så står det inte precis att det är en gräns där för simpla saker inte är inräknade. Du tycker säkert också att många företag har fel då eftersom dom använder begreppet "webbprogrammering" när dom pratar om HTML, CSS, Javascript m.m. Vet inte om det är detta du tänker på men är det så att du tänker mer på programmerare snarare än programmering? En programmerare till exempel är ju inte bara någon som skriver kod. Jag kan skriva kod, men det gör mig inte till en programmerare, utan en kodare. Men en programmerare kan skriva kod i HTML och fortfarande programmera, dock i en begränsad och enkel form. Sen kanske man brukar kalla HTML för markup language, vilket inte är fel (står ju för HyperText Markup-Language), men tycker inte det är fel att säga att det även är med i kategorin "programmering".

PS: Vet inte om det är den bästa jämförelsen men man kanske kan ta en cykel och en motorcykel, båda är inom samma kategori "cykel", båda har ett styre, två hjul osv, men den ene är bra mycket mer avancerad. Dom är inom samma kategori, men dom är inte samma sak

Skrivet av phz:

Det handlar nog mindre om tankar om vad som är "coolt" eller inte (det verkar vara du som drar parallellen att "programmering" skulle vara "bättre" än design), och mer om definitioner av vad programmering är. Om ren informationsuppmärkning är programmering så är det programmering att fetstila text i ett Microsoft Word-dokument, och det kan man få tycka om man vill, men begreppet "programmering" har då blivit så brett att det tappat sin mening. Släpp tankar om vad som skulle vara "häftigt" eller ej, och fokusera i stället på att hitta en definition som fortfarande är användbar.

En fortfarande bred, men ändå rimligt begränsad, definition är att (dator)programmering handlar om att skriva instruktioner som kan få en dator att utföra uppgifter. Typiskt består det av något som kan ses som en algoritm, troligen med in- och utdata. Vill man dra definitionen långt så skulle ett HTML-dokument kunna sägas utföra instruktioner, där tolken är en webbläsare, men utöver exotiska kuriositeter (man skulle även kunna skriva en läsare som tolkade HTML-innehåll som C-kod och utföra godtyckliga saker, men det är inte vad som vanligen menas med HTML) så går det inte använda HTML+CSS för att exempelvis filtrera initialt okänd indata. I stället beskriver man en mängd statiska förhållanden och låter ett externt program tolka dessa.

Om man använder en IDE eller inte spelar i mina ögon inte in på vad som är programmering eller ej. Miljöer som LabView där användaren (i praktiken måhända bara i ett sorts ouppnåeligt idealfall, men ändå) har ett fullt WYSIWYG-gränssnitt och inte ska "behöva" skriva en enda rad kod är likväl enligt alla vettiga definitioner programmering. Att för hand författa ett simpelt LaTeX-dokument på ett bra sätt kan kräva betydande förkunskaper och ha oanade djup, men måste inte vara programmering för det (även om kompletta programmeringsinstruktioner finns tillgängliga i denna omgivning).

Begreppet "webbprogrammering" som nämndes innan brukar väl inte innefatta just ren HTML+CSS (dvs designsteget) utan snarare syfta på backend-programmering, även om gränsen kan vara lite flytande inom denna nisch. "Webbutveckling" är en bredare term som kan innefatta det mesta, inklusive rent fristående specifikationer av användargränssnitt.

Dold text

Alltså programmering är ju inte endast kodningen, att skriva kod. Att programmera är mycket mer än så och det gäller alla datorspråk, om du skriver i CSS eller om det är .NET, skriver man endast koden så programmerar man inte.

Permalänk
Medlem

SQL kan förstå ganska mycket av

Visa signatur

mobo Asus M4A88TD-M EVO/USB3 cpu 1100T kylare Noctua NH-D14
gpu RX 460 passive ram 16GB DDR3 1600MHz ssd Samsung 850 EVO 250GB
psu Corsair AX 850 skärmar 3 * 40" NEC P401

Permalänk
Medlem
Skrivet av Friterad:

Jo det är det, en länk till exempel, men sakerna som du "programmerar" är väldigt simpla helt enkelt, varför utesluter du dessa datorspråk?

Simpel programmering är fortfarande programmering. "Hello World!" är det första steget för i stort sett alla programmerare. Python är ett enkelt språk, fortfarande programmering.

Skrivet av Friterad:

När jag kollar upp vad programmering är för något, så står det inte precis att det är en gräns där för simpla saker inte är inräknade. Du tycker säkert också att många företag har fel då eftersom dom använder begreppet "webbprogrammering" när dom pratar om HTML, CSS, Javascript m.m. Vet inte om det är detta du tänker på men är det så att du tänker mer på programmerare snarare än programmering?

Företag använder ofta begrepp fel. Någon som enbart arbetar med HTML, CSS etc är inte programmerare, det är en webbdesigner.

Skrivet av Friterad:

En programmerare till exempel är ju inte bara någon som skriver kod. Jag kan skriva kod, men det gör mig inte till en programmerare, utan en kodare. Men en programmerare kan skriva kod i HTML och fortfarande programmera, dock i en begränsad och enkel form.

HTML är fortfarande markup, inte programkod. Du kan inte skapa programkod med HTML.

Skrivet av Friterad:

Sen kanske man brukar kalla HTML för markup language, vilket inte är fel (står ju för HyperText Markup-Language), men tycker inte det är fel att säga att det även är med i kategorin "programmering".

Jo, det är fel. Du kan inte skapa ett datorprogram i ett markup-språk.

Skrivet av Friterad:

PS: Vet inte om det är den bästa jämförelsen men man kanske kan ta en cykel och en motorcykel, båda är inom samma kategori "cykel", båda har ett styre, två hjul osv, men den ene är bra mycket mer avancerad. Dom är inom samma kategori, men dom är inte samma sak.

Alla försök att jämföra programmering blir dåliga, i synnerhet då de oftast är fel på ett eller annat plan.

Skrivet av Friterad:

Alltså programmering är ju inte endast kodningen, att skriva kod. Att programmera är mycket mer än så och det gäller alla datorspråk, om du skriver i CSS eller om det är .NET, skriver man endast koden så programmerar man inte.

Programmering består av mycket mer än kodknackande, ja. Det får fortfarande inte CSS att bli ett programmeringsspråk, det är markup. Du kan inte skriva ett datorprogram med CSS hur gärna du än vill.

Skillnaden är att HTML och CSS inte kan skapa en exekverbar maskinkod. Du kan inte säga att du programmerar när du inte skriver ett program.

Visa signatur

Desktop: | Win10 | InWin 303 | ASUS TUF X570 | AMD Ryzen 5 3600 | Noctua NH-U12S (PP) | Intel 600p 256GB | Gigabyte GTX 670 | 32GB DDR4 2400Mhz | Corsair RM650x | 3x 1080 Screens |
Datacenter: | 1x Physical | 1x Virtual |
Laptop: | 2x |

Dell Certified Technician

Permalänk
Avstängd

Ni kommentarsälskare måste ju bli galna av denna commit history

https://github.com/AndersMalmgren/SignalR.EventAggregatorProx...

Visa signatur
Permalänk
Datavetare
Skrivet av CyberVillain:

Ni kommentarsälskare måste ju bli galna av denna commit history

https://github.com/AndersMalmgren/SignalR.EventAggregatorProx...

Nu fanns det rätt mycket att önska vad det gäller att inkludera exempel på hur APIet var tänkt att används och "dokumentationen" var i många fall namnet på funktionen med mellanslag mellan order i stället för CamelCase.

Men hur har du tänkt generera API-dokumentation? Hur har du tänkt dig att någon ska orka använda något som inte är mer eller mindre trivialt utan någon form av exempel och beskrivning kring hur APIet är tänkt att används?

C# XMLDoc verkar inte alls fått samma genomslag som t.ex. JavaDoc, vilket är trist. Kan ta ett exempel, har använt OpenCL en del från C men ville köra det från Java i stället och hittade JavaCL. Även om dokumentationen kan lämna en del att önska så är ändå deras JavaDoc-sida extremt värdefull för någon som har en rätt bra idé kring vad OpenCL är och hur de används i C eller C++.
Ovanpå detta har de även en rätt ok getting started sida. Men hjälp av den och JavaDoc sidan hade jag en fungerande applikation inom väldigt kort tid, utan JavaDoc skulle jag klassa hela detta projekt som värdelöst då jag aldrig skulle orka sitta och läsa koden med mindre än att det var absolut det enda sättet och jag absolut måste använda detta bibliotek.

Och sedan har det nämnts många gånger, dokumentation inne i koden ska typiskt bara dokumentera varför, filen du listade var kliniskt ren från sådan kommentarer.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Avstängd
Citat:

Nu fanns det rätt mycket att önska vad det gäller att inkludera exempel på hur APIet var tänkt att används och "dokumentationen" var i många fall namnet på funktionen med mellanslag mellan order i stället för CamelCase.

Exakt! Och det är ofta så kommentarer i kod ser ut (edit: det var ju självklart inte jag som skrivit kommentarerna i fråga utan jag som tog bort dem)

Ett API där du inte förstår hur det fungerar utifrån dess publika klasser och metoder är ett API som fallerat.
Men visst måste man ha lite dokumentation, github har ju en wiki för ändamålet!

https://github.com/AndersMalmgren/SignalR.EventAggregatorProx...

Eller för att citiera en användare av just det API jag använde som exempel (Hade iof för mig att han skrev one of the easiest to use)

Citat:

First, let me say that this is one of the coolest, most elegant, and useful libraries that I’ve ever used – congratulations on the fine work.

Visa signatur
Permalänk
Medlem

-- Kvalar skapandet av det här in som programmering? (Det är alltså inget program i sin klassiska betydelse)
-- Jag själv brukar aktivt välja andra ord än programmering om det här.. Rolig kodning är det i vilket fall!

library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity mac is port(clk : in std_logic; ds : in std_logic; a : in std_logic_vector(15 downto 0); b : in std_logic_vector(15 downto 0); p : out std_logic_vector(47 downto 0); end entity; architecture vhdl of mac is signal pi : signed(p'range):=(others=>'0'); begin p<=std_logic_vector(pi); process(clk) begin if rising_edge(clk) then if ds='1' then pi<=resize(signed(a)*signed(b),pi'length); else pi<=signed(a)*signed(b)+pi; end if; end if; end process; end architecture;

Dold text
Visa signatur

Intel i7-4930K - Asus Rampage IV extreme - Corsair CMD16GX3M4A2400C9 16GB - SLIx2 EVGA Titan X SC (Maxwell) - 2x Intel 730K 480GB (raid1) - CM Storm Scout II
Dell U3011 - Asus PG278Q (även ett nyare bygge..)

Permalänk
Hjälpsam

Jag föredrar att koden är lättläst, välkommenterad och väl dokumenterad.
Kanske någon av er föredrar något annat, men jag har svårt att förstå varför.

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Avstängd
Skrivet av Ratatosk:

Jag föredrar att koden är lättläst, välkommenterad och väl dokumenterad.
Kanske någon av er föredrar något annat, men jag har svårt att förstå varför.

Överflödiga kommentarer skapar bra flimmer som tar fokus från koden

Visa signatur