C++ och dess framtid att programmera minnessäkert - Hur går utvecklingen?

Permalänk
Medlem

Kan ju nämnas som kuriosa att en "normal dator" har flertalet embeddedsystem i sig i olika komponenter

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Medlem
Skrivet av klk:

Om du är van utvecklare vet du direkt vad som går att göra baserat på vad det är för data du jobbar mot
"CreateD" eller "UpdateD" = Lätt

Själv skulle jag gissa att de där var felstavade och att det skulle stå "Created" och "Updated" - vilket dessutom är mer språkligt korrekt.
Att ha ett "D" suffix bara för att ange att det har något med datum eller tid att göra är ju helt onödigt - det kan man ju se direkt från typdeklarationen.

Permalänk
Medlem
Skrivet av huttala:

Erlang communityn lever, men är liten. Och det är fintechs och andra bolag som behöver extrem skalning som fortfarande använder erlang. Whatsapp, Discord, Klarna, Nordnet och Kivra är några bolag jag kommer på såhär på rak arm som kör erlang(och elixir).

Där ser man, jag inbillade mig att det var någon liten grupp fantaster som hobbyprogrammerade i Erlang men att det i övrigt var ett dött språk. Men kul att ha fel i det sammanhanget.

WhatsApp har jag som huvudsaklig kanal för att hålla kontakt med mina söner och deras respektive.
Kivra får jag all mydighetspost och alla kvitton i.

Kanske ska jag pilla lite mer på Erlang om det blir tid till det.

Visa signatur

Debian överallt

Permalänk
Medlem
Skrivet av Erik_T:

Själv skulle jag gissa att de där var felstavade och att det skulle stå "Created" och "Updated" - vilket dessutom är mer språkligt korrekt.
Att ha ett "D" suffix bara för att ange att det har något med datum eller tid att göra är ju helt onödigt - det kan man ju se direkt från typdeklarationen.

Precis, jag var inne på det samma. Om man nu är allergisk mot ORMer så skulle jag ju använd tabell-schemat eller typspecifikationen, vilket håll man nu vill gå från, istället för en namnkonvention som garanterat inte kommer att testas om jag lärt känna @klk genom denna tråden

Permalänk
Medlem
Skrivet av klk:

Inget krav utan ett exempel på arkitektur, hur en liten sak kan spela mycket stor roll för hur "lätt" databasen blir att jobba mot för utvecklare.

Låt säga att en databas kommer innehålla 200 tabeller eller mer, med "läsbara" namn har troligen det teamet knappt kommit till 50-60 tabeller innan de gått in i väggen, medan de som tänkt till för att klara förstå databasen kan öka på ordentligt

Har du utvecklat databaser med så många tabeller? Och programvaror som hanterar databaserna?

När man utvecklar mjukvara som hanterar databaser börjar man med att modellera applikationsprogrammet för sig och databasen för sig och vad gäller just databasen så skapar man (oftast) en grafisk modell i enlighet med någon känd grafisk notation. Jag brukar använda den som Elmasri & Navathe använder i sin bok "Fundamentals of database systems" med en liten skillnad för att modellen inte ska bli för plottrig. I sak är det en notation för "Entity-Relationship-modelling" som är ekvivalent med alla andra notationer (men i mina ögon enklare att följa).
Den modellen ligger sedan till grund för en överföring till en matematisk notation som sedan använda för att normalisera databasen inna man för över den slutliga strukturen till den deklarationsnotation du ger exempel på. Din deklaration av en tabell är alltså det sista steget för att skapa tabellerna i databasen.
Det är en formell metod som gör att det inte spelar någon större roll om det är tio eller tvåhundra tabeller i databasen. Ett litet exempel som jag använt i undervisning:
En databas över fastighetsbolag och deras hyreslägenheter (någonstans i Sverige)

Alla rektanglar bildar tabeller, alla streck med gaffel i båda ändar och alla streck som binder ihop fler än två rektanglar bildar också tabeller och alla streck med gaffel i ena änden kommer att ha en främmande nyckel i tabellen på gaffelsidan som refererar till en rad i tabellen som bildas av rektangeln på den sidan där det inte är en gaffel. Alla andra egenskaper finns i tabellform och både den tabellen och modellen ligger till grund för de deklarationer som skapar tabellerna i databasen. Räknar man lite grand kommer man fram till att databasen kommer att ha 23 tabeller.
Dessutom kommer man i reella fall inte skapa tabellerna förrän man räknat på alla de tabller man först får fram för att vara säker på att man minimerar redundans i databasen.

Visa signatur

Debian överallt

Permalänk
Medlem
Skrivet av klk:

Om du tar mitt första exempel, jag kan med en enda metod lista ut vad varje fält är för något för att det skall fungera och skriva kod mot det fältet.

Alla fält som börjar på "F" är användardata, inte viktiga (plocka bort)
Resten av fälten kollar jag sista bokstaven och är stor för att få något unikt. Vips vet jag allt

Det är också sådant här som skiljer "vanliga" utvecklare mot 10x utvecklare

Din lösning där det är mänskligt läsbara namn, du kommer få skriva mycket mer kod för att hantera databasen

Nu är du ute och cyklar igen. Alla "fält" som du kallar dem är viktiga om du byggt din databas korrekt, annars har de inte i databasen att göra.

När du programmerar mot en databas, kontrollerar du alltid mot tabelldeklarationerna vilka typer som "fält"-namnen har eftersom du inte chansar på att den som implementerade databasen följer någon egenpåhittad norm.

jag skriver "fält" eftersom du kallar dem det, i tabellerna kallar man dem annars för kolumnnamn.

Visa signatur

Debian överallt

Permalänk
Medlem
Skrivet av serafim:

Där ser man, jag inbillade mig att det var någon liten grupp fantaster som hobbyprogrammerade i Erlang men att det i övrigt var ett dött språk. Men kul att ha fel i det sammanhanget.

WhatsApp har jag som huvudsaklig kanal för att hålla kontakt med mina söner och deras respektive.
Kivra får jag all mydighetspost och alla kvitton i.

Kanske ska jag pilla lite mer på Erlang om det blir tid till det.

Språket är inte dött och utvecklas fortfarande med nytillägg som maybe-block som ska efterlikna en tolkning av Elixirs pipe-operator. Även verktygen uppdateras med rebar3 som numera har inbyggt stöd för Elixir-beroende.

Permalänk
Medlem
Skrivet av serafim:

Har du utvecklat databaser med så många tabeller? Och programvaror som hanterar databaserna?

Ja, det här programmet är ett exempel, vi var tre personer i huvudsak som skrev applikationen på strax över ett år. Intentia som då troligen var sveriges största mjukvarubolag klarade inte själva att ta fram det så de köpte till slut koden.
https://mb.cision.com/wpyfs/00/00/00/00/00/00/B1/3F/bit0002.p...

Permalänk
Medlem
Skrivet av klk:

Ja, det här programmet är ett exempel, vi var tre personer i huvudsak som skrev applikationen på strax över ett år. Intentia som då troligen var sveriges största mjukvarubolag klarade inte själva att ta fram det så de köpte till slut koden.
https://mb.cision.com/wpyfs/00/00/00/00/00/00/B1/3F/bit0002.p...

Vilken databas använde ni då?

Jag tolkar inte det som att Intentia inte var kapabla till att skriva det själva. Jag tror att man snarare ska tolka det som:
- Det var billigare att köpa er kod än att utveckla en snarlik applikation själva.
- Genom att köpa er kod så kunde dom lägga till features eller integrera den med sin egen svit för att möta ett fönster i marknadens behov.

Permalänk
Medlem
Skrivet av orp:

Jag tolkar inte det som att Intentia inte var kapabla till att skriva det själva. Jag tror att man snarare ska tolka det som:

Då tolkade du inte rätt, tänk på att jag var med. Intentia hade tätt samarbete med Caesar och ville veta hur Caesar klarade och ta fram systemet så snabbt, vi var först i Sverige att bli certifierade för windows 95 och samtidigt skrivit applikationen i C++. Vi slog alla utom ett Hogia bolag men de skrev endast i VB (Visual Basic) så det räknades inte riktigt, de var någon månad före oss.

Orsaken att de köpte koden var att jag och de två andra utvecklarna slutade, jag slutade 1998 och de andra strax efter. Caesar började tjäna så mycket pengar och det var många ville komma åt dem men det gjorde att glädjen för oss utvecklare försvann.
Trist för ledningen begrep inte riktigt. När vi slutade försvann kompetensen

Tror samarbetet med Intentia började 1997, minns inte riktigt. Men jag fick stå och beskriva en del om hur vi löst våra problem för deras utvecklare. De kunde tyvärr inte C++ så det kanske inte gav så mycket

Skrivet av orp:

Vilken databas använde ni då?

Vi använde ODBC för att koppla databasen så vi kunde välja men tippar på att 98% av alla kunder var SQL Server. Några Oracle (osäker) men den var fruktansvärd att jobba med, buggig mm.

Permalänk
Medlem
Skrivet av orp:

Språket är inte dött och utvecklas fortfarande med nytillägg som maybe-block som ska efterlikna en tolkning av Elixirs pipe-operator. Även verktygen uppdateras med rebar3 som numera har inbyggt stöd för Elixir-beroende.

Kul och intressant. Jag behöver läsa på en del, verkar det som. Elixir ser jag kör på Erlangs VM men jag har ingen kunskap om Elixir annat att det är ett programspråk. Det lilla jag har läst hittills får mig att tro att det är en utveckling av Erlang med en mer lättillgänglig syntax och att rebar3 är byggverktyget för Erlang-kod

Visa signatur

Debian överallt

Permalänk
Medlem
Skrivet av serafim:

Pizza är väl också helt ute numera och APL har jag inte stött på de senaste 25 åren. Väldigt speciellt språk...

Java har ju till slut fått ADTs och mönstermatching också. Efter pizza så har Odersky nu i snart 25 år utvecklat Scala. Om du är intresserad av PLT kan den senaste forskningen/utvecklingen i Scala angående capture / separation checking (uppdaterad dokumentation) kanske vara intressant. Vilket är lite on-topic iaf och kan vara intressant att jämföra med lösningen Rust använder.

Nu kan man tolka ordet "speciellt" på helt olika sätt i samband med APL men arrayspråken lever vidare. Det kommer en ny version av Dyalog APL snart, k/q med tidsseriedatabasen kdb+ används flitigt inom finans, J utvecklas fortfarande och det har dykt upp lite nya dialekter av APL som t.ex. Kap och TinyAPL och även nya arrayspråk som BQN och uiua (stackbaserat). Dyalog APL är bara några klick bort…

Permalänk
Medlem
Skrivet av Yoshman:

vad är ett vettigt namn för "overload" på svenska.

Inom PLT (programming language theory) så använder man överskuggning för override och överlagring för overload. @SimpLar har alltså helt rätt att det du beskrev är överskuggning och inte överlagring.

Permalänk
Medlem
Skrivet av jclr:

Java har ju till slut fått ADTs och mönstermatching också. Efter pizza så har Odersky nu i snart 25 år utvecklat Scala. Om du är intresserad av PLT kan den senaste forskningen/utvecklingen i Scala angående capture / separation checking (uppdaterad dokumentation) kanske vara intressant. Vilket är lite on-topic iaf och kan vara intressant att jämföra med lösningen Rust använder.

Nu kan man tolka ordet "speciellt" på helt olika sätt i samband med APL men arrayspråken lever vidare. Det kommer en ny version av Dyalog APL snart, k/q med tidsseriedatabasen kdb+ används flitigt inom finans, J utvecklas fortfarande och det har dykt upp lite nya dialekter av APL som t.ex. Kap och TinyAPL och även nya arrayspråk som BQN och uiua (stackbaserat). Dyalog APL är bara några klick bort…

Ja, Scala propagerade min äldste son för, jag läste lite förstrött om språket men gjorde aldrig något mer än så. Kanske kollar....

PLT är ju intressant, höll på en del med lambdakalkyl en gång i tiden, halkade in på kombinatorisk logik men i o m att jag slutade hålla en kurs där det var relevant så slutade jag hålla på med det. Har fortfarande "The Lambda Calculus" av Barendregt i bokhyllan men den var svår. Föredrog "Lambda-Calculus and Combinators" av Hindley & Seldin (som också står i bokhyllan). Har inte underhållit de kunskaperna så de har säkert eroderat en hel del.

Med Speciellt angående APL avsåg jag att man åtminstone dåförtiden behövde specialtangentbord, gick i o f s att mappa om tangentbordet men det var knöligt. Vore kul att testa igen kanske.
Men nu när ni har väckt intresset igen blir det lite för mycket. Får ta det lite pö om pö...

Stavfel korrigerade
Visa signatur

Debian överallt

Permalänk
Datavetare
Skrivet av jclr:

Inom PLT (programming language theory) så använder man överskuggning för override och överlagring för overload. @SimpLar har alltså helt rätt att det du beskrev är överskuggning och inte överlagring.

Absolut, han hade helt rätt!

Sen var den minst lika viktiga insikten att för vissa fall, inklusive detta, får man nog acceptera "svengelska" då "överskuggning" inte är en nomenklatur speciellt många kommer känna igen.

Kör man med "override" och "overload" lär de flesta fatta även i ett svenskt kontext.

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 Yoshman:

Absolut, han hade helt rätt!

Sen var den minst lika viktiga insikten att för vissa fall, inklusive detta, får man nog acceptera "svengelska" då "överskuggning" inte är en nomenklatur speciellt många kommer känna igen.

Kör man med "override" och "overload" lär de flesta fatta även i ett svenskt kontext.

Suck ... det var enklare förr, vi började med Simula runt 82 och det var inte många som hade ett grepp om OOP då och vi pratade självsäkert om det här nya med polymorfi, Kristen Nygaard och Ole-Johan Dahl var halvgudar. Vi var usla på att programmera med det här nya med klasser, subklasser, korutiner och allt sånt. Begreppsvärlden var liten och överskådlig.
Enligt Ole hade man sneglat på biologi och hur man där klassifierar växter och deras arter och underarter när man värkte fram idéerna.
Sedan dess har man identifierat så många olika sätt att åstadkomma ploymorfi på så begreppsvärlden har exploderat, inte bara på OOP-området, datavetenskapen har ju friskt lånat in begrepp från andra vetenskaper, delvis för att man sett paralleller mellan de olika världarna.

Så jag har blivit tvungen att läsa på, det är mycket nytt ... men det är kul och spännande. Ska smaka lite på Rust, Scala, Elixir.

Kanske blir mitt första projekt att skriva om en applikation jag gjorde för att underlätta inlärning av japanska tecken. Jag kallade den för "Flashcards" och skrev den i Python med PySimpleGUI för användargränssnittet men PySimpleGUI har gått ur tiden och jag tvingas hitta gamla implementationer för att kunna köra programmet. Kan vara något att pilla med, ganska litet men med hantering av gränssnitt. Blir ju inget med PLT eller så men något att börja med i alla fall. Svårare grejer framöver kanske ...

Visa signatur

Debian överallt

Permalänk
Medlem
Skrivet av heretic16:

Du menar att man kan allokera minne, utan minnesläckor? Lite som Java.

För dom flesta företag är det billigare att köpa hårdvara än arbetstimmar på att hantera och debugga minnesproblem. 😉

Visa signatur

Citera för svar

Permalänk
Tangentbordskonnässör
Skrivet av serafim:

Så jag har blivit tvungen att läsa på, det är mycket nytt ... men det är kul och spännande. Ska smaka lite på Rust, Scala, Elixir.

Om du är sugen på att jobba mot jvmen (iom Scala) och har jobbat med lisp kan jag varmt rekommendera clojure. 🙂

Permalänk
Medlem
Skrivet av huttala:

Om du är sugen på att jobba mot jvmen (iom Scala) och har jobbat med lisp kan jag varmt rekommendera clojure. 🙂

Kanske, verkar likna scheme, jag har ju jobbat med Lisp både som undervisningsspråk (scheme) och utvecklat ett objektsystem i Lisp. Det slog aldrig eftersom Dan Bobrow samma år presenterade CLOS (Common Lisp Object System) som en utvidgning av Common Lisp.
Det var ju mycket mer genomarbetat än mitt "hack" (och våldsamt mycket större). Häcklarna av CLOS kallade det för COLOSSAL, mest för att reta Dan, som var lite känd för häftigt humör. Testade aldrig CLOS, kanske bitter över mitt eget "nederlag". Det var ett kul hack, dock.

Men kanske testar clojure först. Vill dock att mitt "Flashcards" inte ska ta för lång tid att realisera i något språk. Har hjälpt mig mycket, ser ut så här:

och om man "fusktittar":

Inte mer än c:a 750 rader kod tack vare den eleganta strukturen hos PySimpleGUI (som alltså inte finns längre)

Visa signatur

Debian överallt

Permalänk
Medlem

Om jag testar clojure, vad finns det för UI ramverk?

Visa signatur

Debian överallt

Permalänk
Tangentbordskonnässör
Skrivet av serafim:

Om jag testar clojure, vad finns det för UI ramverk?

Aldrig tittat på desktop grejer direkt. Men ClojureScript finns för webutveckling, och du kan ju använda electron i så fall. Men då blir det ju inte bara clojure att lära sig utan javascript och electron också.

Annars finns säkert UI ramverk för Java som clojure använder sig av, men inget jag läst på om.

Permalänk
Medlem
Skrivet av serafim:

Den modellen ligger sedan till grund för en överföring till en matematisk notation som sedan använda för att normalisera databasen inna man för över den slutliga strukturen till den deklarationsnotation du ger exempel på. Din deklaration av en tabell är alltså det sista steget för att skapa tabellerna i databasen.
Det är en formell metod som gör att det inte spelar någon större roll om det är tio eller tvåhundra tabeller i databasen. Ett litet exempel som jag använt i undervisning:
En databas över fastighetsbolag och deras hyreslägenheter (någonstans i Sverige)

Att få någon schematisk bild (eller flera) är mycket bra att ha, det gör det lättare för utvecklare som vet hur databaser fungerar att förstå. Ofta finns det möjligheter att generera sådana här diagram direkt i verktygen man använder för att skapa databasen.

Som du beskriver så är det också viktigt att förstå normalisering, och varför databaser måste normaliseras (om man inte vill ha problem).

Men så har vi problemet med att göra fel, vad händer om man designat fel och börjat skriva kod, kanske mycket kod. Fel kommer göras och viktigast av allt enligt mig är att se till att konsekvenserna av felaktig design i databasen blir så små som möjligt.

Ett exempel på databaslösning som är gjord för att vara flexibel är CRM systemet ACT! (obs! över 20 år sedan jag tittade på systemet som kan hänt en del).
Act! hade i princip en enda tabell de jobbade mot, EN. Samtidigt som de bara hade en enda tabell var det ett av de mest flexibla systemen.
Hur kunde de lagra så mycket med en enda tabell?
Svar: De använde inte en kolumn i tabellen för att koppla samman relaterad data, de använde två kolumner. Om man använder två kolumner behöver man inte massa tabeller för det är bara att skapa en ny "tabelltyp" om ena kolumnen beskriver vilken tabell det är.

Självklart finns en hel del andra problem kopplade till att använda två kolumner för att para ihop data men ville bara nämna exempel på hur mycket man kan trixa.

Att exempelvis göra trädlösningar i en databas som skall vara sökbara och snabba, fungera med referensintegritet mm. Det är sällan en lösning som fungerar för något inte har ett pris i något annat.

Även om det kan tyckas enkelt och jobba med data i databaser (förstå tabeller är inte svårt) blir det snabbt komplicerat om man skall ha komplicerade lösningar samtidigt som databasen också skall vara snabb och underhållsfri.
En del väljer NoSQL för att lösa sådant här vilket nästan alltid är ett STORT misstag.

Samma sak i programmering, saker ändrar sig och man gör fel och det måste man anpassa sig för såvida det inte är specifika uppdrag för en enda kund eller man vet exakt vad man önskar. Kan nog inte komma ihåg någon som aldrig önskat vilja ha mer saker eller önskar ändringar efter specifikation gjorts.

Permalänk
Medlem
Skrivet av klk:

Att få någon schematisk bild (eller flera) är mycket bra att ha, det gör det lättare för utvecklare som vet hur databaser fungerar att förstå. Ofta finns det möjligheter att generera sådana här diagram direkt i verktygen man använder för att skapa databasen.

Som du beskriver så är det också viktigt att förstå normalisering, och varför databaser måste normaliseras (om man inte vill ha problem).

Men så har vi problemet med att göra fel, vad händer om man designat fel och börjat skriva kod, kanske mycket kod. Fel kommer göras och viktigast av allt enligt mig är att se till att konsekvenserna av felaktig design i databasen blir så små som möjligt.

Det här var nog ditt värsta inlägg hittills och det gör att jag tror att vad du än var inblandad i i projektet du skrev om tidigare så var det definitivt inte databasen. Jag börjar mer och mer tro att du trollar, kanske sitter och fnittrar förtjust åt dina egna inlägg och tänker: "Där fick de något att kommentera, det här blir kul"

Den formella metoden jag delvis beskrev görs inte i ett steg, man gör en initial modell som man sedan itererar över tills man är nöjd, somliga använder metoden jag beskrev andra använder annan notation, inte nödvändigtvis grafisk.
När man så är nöjd, för man över databasen på en form som tillåter normalisering, man normaliserar och testar sedan. Kan databasstrukturen lagra alla data man behöver, kan alla frågor man vill ställla till den besvaras, är strukturen tillräckligt dynamisk för att kunna byggas ut?
Inte förrän man är nöjd bygger man databasen. Klart att det kan bli fel men de gånger jag har sett felbyggda databaser har det alltid varit databaser byggda av folk som inte har den formella utbildningen eller som bortsett från formalia för att de upplevt att de är duktiga nog för att kunna klara jobbet ändå.

Skrivet av klk:

Ett exempel på databaslösning som är gjord för att vara flexibel är CRM systemet ACT! (obs! över 20 år sedan jag tittade på systemet som kan hänt en del).
Act! hade i princip en enda tabell de jobbade mot, EN. Samtidigt som de bara hade en enda tabell var det ett av de mest flexibla systemen.
Hur kunde de lagra så mycket med en enda tabell?
Svar: De använde inte en kolumn i tabellen för att koppla samman relaterad data, de använde två kolumner. Om man använder två kolumner behöver man inte massa tabeller för det är bara att skapa en ny "tabelltyp" om ena kolumnen beskriver vilken tabell det är.

Självklart finns en hel del andra problem kopplade till att använda två kolumner för att para ihop data men ville bara nämna exempel på hur mycket man kan trixa.

Det här tror jag överhuvudtaget inte på. Det mest korkade jag någonsin hört i samband med databaser.
Resten av ditt inlägg bortser jag ifrån.

Visa signatur

Debian överallt

Permalänk
Medlem
Skrivet av serafim:

Den formella metoden jag delvis beskrev görs inte i ett steg, man gör en initial modell som man sedan itererar över tills man är nöjd, somliga använder metoden jag beskrev andra använder annan notation, inte nödvändigtvis grafisk.
När man så är nöjd, för man över databasen på en form som tillåter normalisering, man normaliserar och testar sedan. Kan databasstrukturen lagra alla data man behöver, kan alla frågor man vill ställla till den besvaras, är strukturen tillräckligt dynamisk för att kunna byggas ut?

Möjligen misstolkade jag dig, förstår inte riktigt din upprördhet
De som designar databasen, hur vet de om när de är nöjda? Gör du ett system som säljs till många olika typer av användare (en applikation) så måste databasen vara flexibel för att kunna anpassa sig till olika kunders behov.

Skrivet av serafim:

Det här tror jag överhuvudtaget inte på. Det mest korkade jag någonsin hört i samband med databaser.

Det borde gå att kolla, Act! säljs idag och det är ett gammalt system, fanns innan jag byggde CRM. Då fanns knappt relationsdatabaser, en vanlig databas heter BTrive, det fanns inte så mycket att välja på och funktionaliteten i den var ganska spartansk :). cascade delete/referensintegritet var bara att glömma.

Vi hade självklart koll på konkurrenterna. SuperOffice som senare köpte Caesar var då inte i närheten heller (inte ens idag). Men SuperOffice hade bättre ledning som skötte företaget.

Angående att du inte hört talas om att man kan koppla en tabell till flera andra tabeller med två värden.
Hur gör du med "lookup"/"kod" tabeller. Alltså bara en lista med värden som kopplas samman eller låt säga att en databas skall köras i flera olika språk. Större företag har kontor i många länder och databasen måste anpassa sig till olika länders språk

Permalänk
Medlem
Skrivet av klk:

Möjligen misstolkade jag dig, förstår inte riktigt din upprördhet
De som designar databasen, hur vet de om när de är nöjda? Gör du ett system som säljs till många olika typer av användare (en applikation) så måste databasen vara flexibel för att kunna anpassa sig till olika kunders behov.

Det borde gå att kolla, Act! säljs idag och det är ett gammalt system, fanns innan jag byggde CRM. Då fanns knappt relationsdatabaser, en vanlig databas heter BTrive, det fanns inte så mycket att välja på och funktionaliteten i den var ganska spartansk :). cascade delete/referensintegritet var bara att glömma.

Vi hade självklart koll på konkurrenterna. SuperOffice som senare köpte Caesar var då inte i närheten heller (inte ens idag). Men SuperOffice hade bättre ledning som skötte företaget.

Angående att du inte hört talas om att man kan koppla en tabell till flera andra tabeller med två värden.
Hur gör du med "lookup"/"kod" tabeller. Alltså bara en lista med värden som kopplas samman eller låt säga att en databas skall köras i flera olika språk. Större företag har kontor i många länder och databasen måste anpassa sig till olika länders språk

1.
Jag är inte irriterad bara trött på din fåniga inlägg, även det här är ett sammelsurium av påståenden som är svåra att bemöta för att de är så spretiga och delvis rejält korkade.
2.
De som designar databasen vet när de kan vara nöjda för att de har erfarenhet, är välutbildade, kan databasmatematiken, är noggranna och är medvetna om att kunden också måste vara nöjd.
3.
Jag behöver inte kolla Act!, de skulle inte vara kvar på marknaden om de gjorde som du skrev.
4.
Om du höll på med databaser innan relationsdatabaserna så är du minst lika gammal som jag (och jag är gammal). Codd skrev sitt första papper 1969, ett papper som fick hela branchen att haja till och 1970 publicerade han en forskningsrapport "A Relational Model of Data for Large Shared Data Banks". Strax därefter började det dyka upp databashanteringssystem på marknaden, runt 1974. Jag började jobba med relationsdatabaser 1982, ett svenskt databashanteringssystem som hette MIMER och som på den tiden programmerades i Fortran IV (det var inte kul). Sedan dess har jag jobbat med flera andra relationsdatabshanteringssystem: Oracle (som är långt ifrån så uselt som du påstod i ett tidigare inlägg), Ingres, Informix, DB2 (IBM), MySql, PostgreSQL och SQLite. Jag har också jobbat med andra typer av databaser men mest med relationsdatabaser.
5.
Jag har visst hört talas om att man kan koppla ihop data från olika tabeller med hjälp av värden i andra tabeller. Det är just sådana värden som definierar databasens semantik. I mitt exempel kommer t.ex. kopplingen "Kö" att bilda en tabell med (minst) fyra kolumner som kopplar ihop rader i tabellerna som bildas av de rektanglar den sammanbinder.
6.
Jag kommer från och med nu betrakta dig som troll och inte besvara dina inlägg. Det förekommer flera andra diskussioneer i tråden som är värda att lägga krutet på.

Visa signatur

Debian överallt

Permalänk
Medlem
Skrivet av serafim:

De som designar databasen vet när de kan vara nöjda för att de har erfarenhet, är välutbildade, kan databasmatematiken, är noggranna och är medvetna om att kunden också måste vara nöjd.

Ok, hur vet du om de har erfarenhet? Om de håller med dig

Skrivet av serafim:

Jag behöver inte kolla Act!, de skulle inte vara kvar på marknaden om de gjorde som du skrev.

Vänta till du får syn på en SAP databas, du skulle skita på dig. Senaste jag jobbade med hade över 3000 tabeller och och några tabeller hade över 1000 kolumner.

Permalänk
Medlem
Skrivet av serafim:

Oracle (som är långt ifrån så uselt som du påstod i ett tidigare inlägg), Ingres, Informix, DB2 (IBM), MySql, PostgreSQL och SQLite. Jag har också jobbat med andra typer av databaser men mest med relationsdatabaser.

Det är för att du är teoretiker och jag är programmerare.

Här en bra video om Oracles kod

När vi byggde systemet så kunde vi generera SQL frågor dynamiskt, vi behövde inte hårdkoda SQL frågor vilket var viktigt för att få ut något snabbt och hantera ändringar.
Oracle var problem för det tog lång tid innan de supportade JOIN i FROM delen. De joinade tabeller i WHERE delen och det var problem med den logik vi byggt för att bygga SQL dynamiskt. Dessutom så när man skulle testa SQL mot Oracles egna verktyg, de kunde driva en till vansinne.
Sökte och det verkar som att Oracle fick stöd för ANSI JOINs i Oracle 9i (de släppte den 2001), 2003 verkar det som att de började rekommendera sina kunder att gå över till ANSI Joins, Två år senare, antar att det tog ett tag att få det stabilt.

Permalänk
Medlem
Skrivet av klk:

Oracle var problem för det tog lång tid innan de supportade JOIN i FROM delen. De joinade tabeller i WHERE delen och det var problem med den logik vi byggt för att bygga SQL dynamiskt.

Någon annan som undrar om @klk ens arbetat med SQL efter att ha läst detta?

Permalänk
Medlem

Jag har hört om att folk i Silicon valley microdoserat LSD men här misstänker jag macrodosering av LSD

Permalänk
Medlem
Skrivet av orp:

Någon annan som undrar om @klk ens arbetat med SQL efter att ha läst detta?

Vågar du inte utveckla dina tankar

Hade jag inte berättat lite om min bakgrund hade jag blivit sågad vid fotknölarna för det blir man direkt idag bara man vågar prata alternativa lösningar, det är en mycket trist utveckling och har förstört massor

Få vågar käfta emot när flockens "experter" berättar hur man skall göra.