Bästa programspråk för störst kompatibilitet?

Permalänk
Medlem
Skrivet av KeyCat:

Kolla upp en äldre version av Delphi (5-7)

Om pascal, varför så gammal IDE? Delphi 5-7, är ju från 1999-2002. Finns långt senare Delphi IDEs, Embarcadero Delphi 10.2 släpptes ifjol t.ex.

Permalänk
Medlem
Skrivet av Dooley:

Om pascal, varför så gammal IDE? Delphi 5-7, är ju från 1999-2002. Finns långt senare Delphi IDEs, Embarcadero Delphi 10.2 släpptes ifjol t.ex.

Absolut men kolla upp prislappen...de har nu ett "bra" erbjudande och du kan köpa billigaste versionen för €2,148.75

https://www.embarcadero.com/app-development-tools-store/delph...

Om nu Pascal är intressant så skulle jag själv valt Lazarus. För mig hade det även varit en fördel att det även finns för Linux och gratis är ju inte fel det heller.

Permalänk
Hedersmedlem
Skrivet av Dimman:

Det är väl ändå sanning med modifikation. Vi länkar exempelvis curl, libpng, libjpeg, libSDL2, libjansson (etc) och har en binär på ca 5MB strippad (plus hundratusentals rader kod i vår egen applikation). Det beror ju helt på vad man drar in för bibliotek. I vårt fall rört det sig om en spelklient (Quake).

Jämför med en Electron-app som ska packa in hela Electron-ramverket. Ta Etcher som exempel; en simpel img-writer som väger in på 300MB (for real).

Nej, vid en sådan jämförelse är ju inte några megabyte mycket att komma med, men om man håller sig till en .net-version som man kan förutsätta finns (eller widows-api:et) kommer man ju ofta undan med enstaka kilobyte...

Permalänk
Medlem
Skrivet av KeyCat:

Absolut men kolla upp prislappen...de har nu ett "bra" erbjudande och du kan köpa billigaste versionen för €2,148.75

Om nu Pascal är intressant så skulle jag själv valt Lazarus. För mig hade det även varit en fördel att det även finns för Linux och gratis är ju inte fel det heller.

€2145,75? Taget!!
Linux? Det är ju gratis?! Tvi fasen!!

(Linux hade varit grymt intressant om dom nån dag fixade bra stöd för workstations, extern hårdvara, drivrutiner, workstation-program m.m. Linux har ju mest satsat på ren serverdrift dom senaste 20 åren, typ).

Permalänk
Medlem

Tja, det går ju som nämnt att bygga feta, fristående binärer (.exe-filer) i de flesta programspråk.
Även Python-script kan du kompilera så du inte behöver ha en interpretator installerade.

Ta det programmeringsspråk du är mest bekväm med (inte Visual Basic) och kör på det, så länge du länkar in allt, eller ex. inte använder grejer som är beroende av .net X, Y etc så är du safe.

Visa signatur

|[●▪▪●]| #Lekburk#: Ryzen 3700X >-< GB-X570-AE >-< 32GB DDR4 >-< MSI RTX 3070 >-< 970 EVO 1TB SSD>--
--< Arctic Freezer 34 >-< FD Define R4 >-< Seasonic F.+ 650W >-< Acer XF270HUA >-< AOC Q2778VQE >--
#Servering#: Ryzen 1700@3,6GHz >-< Prime X470 Pro >-< 16GB DDR4 >-< GTX 1030 >-< 970 EVO 500GB SSD >--
--< Stockkylare >-< Antec P182 >-< Silver Power 600W >-< Samsung 245T |[●▪▪●]|

Permalänk
Medlem
Skrivet av RHWarrior:

Tja, det går ju som nämnt att bygga feta, fristående binärer (.exe-filer) i de flesta programspråk.
Även Python-script kan du kompilera så du inte behöver ha en interpretator installerade.

Huh? Och det nämner någon först såhär sent i tråden? Python är ju känt som extremt användarsnällt! Nu blev man nyfiken ...

Skrivet av RHWarrior:

Ta det programmeringsspråk du är mest bekväm med (inte Visual Basic) och kör på det, så länge du länkar in allt, eller ex. inte använder grejer som är beroende av .net X, Y etc så är du safe.

Haha, alltså vad är grejen med allt detta Visual Basic hat?

Permalänk
Datavetare
Skrivet av RHWarrior:

Tja, det går ju som nämnt att bygga feta, fristående binärer (.exe-filer) i de flesta programspråk.
Även Python-script kan du kompilera så du inte behöver ha en interpretator installerade.

Ta det programmeringsspråk du är mest bekväm med (inte Visual Basic) och kör på det, så länge du länkar in allt, eller ex. inte använder grejer som är beroende av .net X, Y etc så är du safe.

Problemet är att de flesta "moderna" språk har en runtime. Det är precis som du skriver fullt möjligt att paketera t.ex. ett Python-program så att det innehåller runtime + det program man vill köra. Men är väldigt sällsynt att språkets runtime är statiskt länkad vilket betyder att man fortfarande behöver "MS Visual C++ dll" installerade, och det i en tillräckligt ny version.

Garanterat ett icke-problem för Windows-versioner som är aktuella idag, men rätt osannolikt att det kommer fungera på Win95 och WinNT... Inte heller alls osannolikt att en någorlunda modern runtime för ett språk använder någon lite nyare funktion från Win32 APIet.

Angående storleken på .exe filen för statiskt länkade binärer. Självklart blir det en större .exe fil jämfört med att dynamiskt ladda beroenden. Men skillnaden blir mindre ju mer avancerat program man har.

För riktigt enkla program handlar det om ~2 MB. Skapade t.ex. en enkel TCP/UDP-server med boost::asio, storleken går från 76KB till 1,8MB. Rejäl procentuell ökning, men 1,8MB är inte riktigt någon större katastrof i dagens läge

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

Huh? Och det nämner någon först såhär sent i tråden? Python är ju känt som extremt användarsnällt! Nu blev man nyfiken ...
Haha, alltså vad är grejen med allt detta Visual Basic hat?

Googla på "compiling standalone python" eller liknande, inte provat själv men det låter ju rätt enkelt.

Jag programmerade, pga. av att jag "var tvungen" VB runt 2000-2002 och då var det rätt skakigt, pysslat mycket mer med C++ och Perl. Hörde skräckhistorier från kurskamrater på Chalmers där företag försökte bygga komplexa, stora applikationer med VB som slutade i tårar i mer än ett fall.

Men on topic så kanske det inte är hela världen att få alla klientdatorer att installera t.ex. en C++-runtime en gång som stödjer just den version du håller på med, kanske två efter ett tag.

Tänker att det är osannolikt om det är Windows att det är alla version från 95, 98, NT, 2000, Vista/SPX, Win7/SPX, 8, 8.1, 10 som folk kör på, men vad vet jag, för i så fall så kanske den redan är inne. Det behöver i sak inte vara ett stort problem i praktiken.

Visa signatur

|[●▪▪●]| #Lekburk#: Ryzen 3700X >-< GB-X570-AE >-< 32GB DDR4 >-< MSI RTX 3070 >-< 970 EVO 1TB SSD>--
--< Arctic Freezer 34 >-< FD Define R4 >-< Seasonic F.+ 650W >-< Acer XF270HUA >-< AOC Q2778VQE >--
#Servering#: Ryzen 1700@3,6GHz >-< Prime X470 Pro >-< 16GB DDR4 >-< GTX 1030 >-< 970 EVO 500GB SSD >--
--< Stockkylare >-< Antec P182 >-< Silver Power 600W >-< Samsung 245T |[●▪▪●]|

Permalänk
Medlem

Man kan skriva små assemblerprogram i "debug". Man behöver inte ens en editor. Det fungerar i alla fall om man kör XP. Nyare windows verkar sakna debug. Det blir förmodligen ett .COM, max 64kB .EXE går nog också att skapa men är lite krångligare.

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
Medlem
Skrivet av KeyCat:

Nu handlade det ju om att kunna göra helt fristående EXE-filer helt utan några depencies och som fungerade på alla Windows versioner och mig veterligen går det inte med C# - rätta mig om jag har fel?

Sedan att Pascal är "dött" behöver inte innebära att det per automatik är dåligt, finns en hel del som fortfarande använder det

@Dooley: Har sett den undersökningen för några år sedan, intressant läsning

Inga exe-filer är utan dependencies. Det är beroende av ett operativsystem, c# fungerar på alla windowsversioner som det finns skäl att använda idag (såklart inte absolut, det finns alltid undantag). Pascal är dött i den bemärkelsen att det är väldigt svårt att hitta bra underlag för inlärning och dessutom svårt att hitta bra editor och kompilator. Assembler är väl enda sättet att verkligen kunna vara befriad från dependencies. Man måste ju dra gränsen någonstans. Intellisense i visual studio gör det ju så sjukt mycket enklare och snabbare att programmera. Jag tror du kan köra en exe-fil kompilerad i VS för c# på alla windowsversioner sedan windows 7 utan att skicka med några dependencies, det beror ju såklart på att du måste välja version 3.5.1 av .Net.
"Windows 7 (all editions) includes the .NET Framework 3.5.1 as an OS component. "

Permalänk
Inaktiv
Skrivet av Yoshman:

Störst kompatibilitet över alla tänkbara Windows-versioner är, med milsvid marginal över allt annat som föreslagits i denna tråd, statisk länkade C++ program.

Den statisk länkningen är den kritiska komponenten här, det tar bort alla beroenden förutom systemanropen mot Windows-kärnan, så självklart kommer det inte fungera om du använder OS-funktioner som inte finns i t.ex. Win95.

Nu kanske jag blandar ihop det, men dynamisk bindning till OLE objekt är det man ska göra om man vill få kompilalitet inom windows. Säg att du ska koda en lösning som ska fungera med Office 97 på Win98 till Office 2016 64 bit på Windows 10/Server 2016 utan några som helst problem. Ja då är dynamic bindning det riktiga. Att sedan få lösningen att fungera på macOS/Linux är bara att glömma.

En positiv fördel med dynamic bindning är att det blir lite mer sport i det hela, jag har sett seniora utvecklare som nästan har slängt ut datorn genom fönstret när de för första gången kodade Office lösningar i detta.

Early VS Late Bindning i Office VBA, (C# med dynamic bindning = late)
https://gregmaxey.com/word_tip_pages/early_vs_late_binding.ht...

Skrivet av Elgot:

Inte för att säga emot, men hur mycket brukade folk egentligen ha installerat? Separata e-postklienter har kanske försvunnit på många håll, men spel och office-paketet lever väl ungefär som förr? När det gäller bantningsprogram och liknande kan jag tänka mig att de främst har flyttat till telefoner, men i många fall blir de väl snarare plattformsspecifika appar där snarare än webbapplikationer?

Folk hade program installerat för precis allt de gjorde vi datorn, många hade ej ens internet, på senare tid var internet dyrt. Min poäng är att trenden går till att ej ha så mycket dritt på datorn. Det får vara något extremt unikt program någon har för att jag skulle installera den. Men pluggings och mer serverapplikationer etc är undantag.

Skrivet av KeyCat:

Skulle mina kunder få reda på det eller om något kommit på villovägar så hade jag kunnat packa ihop. Nu arbetar jag inte på med "NASA projekt" men det spelar ingen roll, industrispionage är ett faktum!

Molnet har sina för och nackdelar, Pentagon kommer väl lägga ut sin information där. I sverige är det vid säkerhetsklassade system idag vanligt att man har utkomst utifrån.
Jag har jobbat på ställen där vi enbart fick jobba i Molnet och vi inte fick ta hem filer.

Skrivet av KeyCat:

PS: Att sätta upp en web lösning för de ändamål som TS beskriver är som att döda mygg med en haubits

Det är en overhead helt klart, vilket gör att inte företag gör weblösning för allt.
Men som privatperson och om man vill få spridning av ens lösning så är webben ett bra alternativ. Liksom gör någon en exefil lägger ut på sin webbsida, vem vågar köra den innan man har gjort sig ett namn som en pålitlig person? Vanligt är då att folk vill ha öppen källkod och sedan kompilera koden själv eller från en pålitlig ställe. (sourceforge var en gång i tiden pålitlig)

Så Weblösning, betydligt mer jobb, mer overhead och man får hosta sidan någonstans. Men vill man göra något som går köra nästan överallt och vill få stor spridning så bör man fundera på detta.

Permalänk
Hedersmedlem

Frågan är lite felställd, tycker jag. För att ta ett exempel: Ett av de mest portabla språken genom tiderna är C. Det beror inte särskilt mycket på språket i sig, utan snarare på att det finns C-kompilatorer för i princip allt som det går att köra kod på.

Det här programmet kan du kompilera och köra på allt från en mikrovågsugn till en rymdraket och det kommer fortfarande att fungera (fast exakt vart texten dyker upp beror på hur programmet körs, så klart).

#include <stdio.h> int main (int argc, char *argv[]) { puts("Hello, world."); }

Nu vill jag inte propagera för att du ska använda C för att skriva program som är multiplattform, eftersom det är så pass hårdvarunära att det går att skriva C-program som funkar på en dator men inte på en annan, eftersom man gör antaganden om alla datorer ska fungera utifrån hur en egen gör det. Jag använder det bara för att illustrera att programspråket i sig inte är en faktor, utan snarare om det finns en kompilator eller interpretator för din plattform.

Det som gör ett program mindre portabelt är när du börjar röra dig utanför standardbiblioteken och vill ta in något "utifrån". Det kan handla om något så enkelt som att du kanske vill att det ska poppa upp en dialogruta. Då måste du dra in något lämpligt bibliotek för detta. Och exakt vilket bibliotek detta är beror på vilken operativmiljö (operativsystem + grafisk miljö) du vill köra detta under. Vips funkar då bara din applikation under Windows, eller kanske bara på en burk med en X-server på (oftast Linux eller Unix) eller... etc etc.

Ett exempel på ett program som är skriven i Python (som också finns för en stor variation av plattformar och därmed är ganska portabelt), men som bara funkar på Linux (och då just på Linux, inte på andra Unixvarianter, och bara om man råkar ha procfs monterat på /proc):

uptime, idletime = map(float, file('/proc/uptime').read().split()) print("Din dator har varit uppe i %.0f sekunder." % uptime)

I det här fallet är programmet inte portabelt för att man använder en operativsystemsfunktion (/proc-systemet) som bara finns på just Linux.

Det man då kan göra är att försöka sektionera av sitt program så att allt som är beroende av ett specifikt OS är i en begränsad del av programmet (i det här fallet uträkningen om hur länge datorn varit igång), och skriva olika versioner för alla system man vill köra. Eller så tar man till hjälp ramverk som försöker göra detta åt en, och då vips, så har man dragit in ett beroende på extern kod.

Ett annat exempel, det går utmärkt att skriva i C# för att skriva Linuxapplikationer, med hjälp av en opensource-implementation av .NET framework som heter Mono. Gäller "bara" att hålla sig undan från de prylar som är MS-specifika.

För att sammanfatta: Hur portabelt ditt program är beror på hur portabla de komponenter du använder är, då alltså din kompilator/interpretator, de programvarubibliotek du använder (då särskilt sådana som är specifika för ett visst system), och i den utsträckning du försöker göra så mycket av ditt program som möjligt oberoende av operativsystemsspecifika saker, och ju färre antaganden du gör om den underliggande plattformen.

Permalänk
Medlem

Jag känner också det verkar lite som att frågan torrkokas ner FÖR hårt till sin absoluta essens, eller nåt. Det ligger lite i sin natur, att när frågan är lite avigt ställd, så är det för att TS inte riktigt förstår ämnet så bra, och kanske räknar med att lära sig nåt om detta i och med sin tråd.

Jag var mest ute efter program som kan köras med minimalt av beroenden/runtimes osv. Den mer tuffa diskussionen här rör huruvida något verkligen är helt oberoende, eller inte. Visst, det kanske går att hårddra det mjukvarumässigt så pass, i vissa fall. Men då blir nog användningen liksom som diskussionen: tumskruvarna måste dras åt så jäkla stramt så .. det känns inte produktivt. Några beroenden får man nog acceptera. Operativsystem är ju trots allt ett sånt beroende.

Jag tror nog den som läser tråden har fått en god generell uppfattning om vad folk på Swec säger i frågan, åtminstone idag. Sen om någon vill diskutera specifika ramverk, eller debattera vad som är det ultimat mest oberoende av alla ... ha TOTALT oberoende .. det blir lite en annan fråga då, lite annan diskussion. Assembler .. fy farao. 10011010101101001010101

Detta plus att jag (TS) vare sig är kraftigt behövande, begåvad eller ambitiös när det gäller kodning, så blev det också en fråga om lättkodat, som störde till grundfrågan lite. Pascal kan vara en mer tilltalande syntax för vissa personer, och vara känt som Rapid Application Development plattform, men detta ska sen vägas mot faktorer som massvis av färdiga bibliotek, förenklade IDE med grym intellisense osv i .NET. Svårt då.

Permalänk
Hedersmedlem
Skrivet av anon159643:

Folk hade program installerat för precis allt de gjorde vi datorn, många hade ej ens internet, på senare tid var internet dyrt. Min poäng är att trenden går till att ej ha så mycket dritt på datorn. Det får vara något extremt unikt program någon har för att jag skulle installera den. Men pluggings och mer serverapplikationer etc är undantag.

Fast beror förändringen på att två tjänster har flyttat till webbapplikationer eller att folk gör andra saker numera? Både internet och moderna mobiltelefoner inkräktar väl rimligen på den tid datorägare lägger på lokala applikationer, men där man fortsätter som förr (typiskt spel) verkar ju traditionella program fortfarande sälja bra.

Permalänk
Medlem
Skrivet av Dooley:

€2145,75? Taget!!
Linux? Det är ju gratis?! Tvi fasen!!

(Linux hade varit grymt intressant om dom nån dag fixade bra stöd för workstations, extern hårdvara, drivrutiner, workstation-program m.m. Linux har ju mest satsat på ren serverdrift dom senaste 20 åren, typ).

En workstation är i princip en server med häftigare grafik

Om du tycker den behöver stöd för workstation program så tror jag inte du kör workstation program möjligen undantaget adobe programmen som väl numer kan kvalificera som workstation program.

Stöd för extern hårdvara? Som alla windowsonly leksaker som gör dumma saker av budgetskäl och som bara överlever ett windowsversion skifte om inte microsoft ändrar sin devicemodell?

Permalänk
Medlem
Skrivet av Dooley:

Jag hade väntat mig rekommendationer till C++ som jag trodde tillhörde de mest oberoende formaten. Hade jag fel i det?

Nä, C / C++ hade jag också väntat mig... går ju på allt från arduino till superdatorer.

Nu verkar TS bara vara intresserad av Windows, så då finns ju andra alternativ.

Permalänk
Medlem

Jag har använt golang, kan varmt rekommendera. Tror jag ska ta mig en titt på Rust också.

Permalänk
Inaktiv
Skrivet av Dooley:

Detta plus att jag (TS) vare sig är kraftigt behövande, begåvad eller ambitiös när det gäller kodning, så blev det också en fråga om lättkodat, som störde till grundfrågan lite. Pascal kan vara en mer tilltalande syntax för vissa personer, och vara känt som Rapid Application Development plattform, men detta ska sen vägas mot faktorer som massvis av färdiga bibliotek, förenklade IDE med grym intellisense osv i .NET. Svårt då.

Du tyckte vb6 ej var portabelt och det är tufft att göra något mer portabelt i detta i windows. Jag har utan större problem flyttat Enterprice lösningar i vb6 från windows 2000 till Windows server 2012 R2 utan några extrema problem..
Men om du är ute efter något populärt som är lättkodat så rekommenderar jag .Net. Nästan alla utvecklare kan språket tillräckligt för att göra enkla saker, det är ändå ganska kraftfullt.
Nackdelen är att man får bråka med .Net frameworket, men till försvar så brukar folk ändå uppdatera denna. Problemet är mer gamla lösningar på äldre maskiner. Och inte ens Microsoft uppdaterar sina produkter, jag vill minnas att SQL server 2012 krävde .Net 2.0 var installerat på datorn. Och i princip 95% av alla maskiner som kör SQL server 2012 har inte .Net 2.0 installerat och man fick bråka för att få in den. Glöm att ladda hem den från Microsoft sida, nej man ska använda server agent som inte alltid godtar den.

Skrivet av Elgot:

Fast beror förändringen på att två tjänster har flyttat till webbapplikationer eller att folk gör andra saker numera? Både internet och moderna mobiltelefoner inkräktar väl rimligen på den tid datorägare lägger på lokala applikationer, men där man fortsätter som förr (typiskt spel) verkar ju traditionella program fortfarande sälja bra.

Helt klart flyttas applikationslösningar till webben. Folk och företag är så tröttna på att underhålla klienter så det ej är klokt.
Om man ska göra en applikation så får man fundera på varför.
Spel, ganska självklart. Applikation för en själv som löser ett problem också självklart.
Större applikationer mer krävande så beror det på, där visa typer som utvecklingsverktyg på webben är svårt.

Går man några år tillbaka så epostklient, släktforskningsprogramvaror, inventeringsprogram, hälsoprogram, diverse tidfördrivprogram etc hade många på sina datorer. Idag så är det typ bara spel kvar.
Orsaken är många, som att folk vägrar köra främmande exekveringsbara filer.

Vi tekniker har tekniska program som t.ex. är inne på AD och grejar, men jag pratar om program för den stora skaran, där man enligt mig bör fundera på om man idag verkligen ska göra en applikation som körs lokalt?

Jag utvecklar för övrigt mängder av saker och typ igen av mina kunder vill ha något alls som utåt sett inte utförs i webbläsaren, backend är dock en helt annan sak, men det ser de aldrig längre. tidigare så var det inom mitt område vanligt med servermjukvaror och klienter.
Och inte en sate vågade röra klienterna, en IT tekniker med 30 års erfarenhet så blankt nej till att lägga in en windowsuppdatering till en sådan klient. Nu idag med webläsare så har alla klienter på automatisk uppdateringar från någon uppdateringsserver lokalt.

Jag minns en gång när jag sa åt en IT-specialist med runt 20 års erfarenhet att starta om en klient, han svarade att jag skulle maila detta ärende och CC hans chef, då han ej ville ta något ansvar om den ej startade korrekt.
Sådant dritt håller nu på att försvinna och alla jublar över weblösningar som blir för nästan allt. -Även om det finns nya risker som datasäkerhet.

Permalänk
Hedersmedlem
Skrivet av anon159643:

Går man några år tillbaka så epostklient, släktforskningsprogramvaror, inventeringsprogram, hälsoprogram, diverse tidfördrivprogram etc hade många på sina datorer.

Fast min fråga är väl främst om folk gör sådant nuförtiden i webbapplikationer eller bara har bytt plattform (till Android typiskt) eller slutat helt. Släktforskning var väl rätt inne överlag på tidigt 2000-tal, men numera vet jag inte.

Permalänk
Medlem
Skrivet av anon159643:

Du tyckte vb6 ej var portabelt och det är tufft att göra något mer portabelt i detta i windows. Jag har utan större problem flyttat Enterprice lösningar i vb6 från windows 2000 till Windows server 2012 R2 utan några extrema problem..
Men om du är ute efter något populärt som är lättkodat så rekommenderar jag .Net. Nästan alla utvecklare kan språket tillräckligt för att göra enkla saker, det är ändå ganska kraftfullt.
Nackdelen är att man får bråka med .Net frameworket, men till försvar så brukar folk ändå uppdatera denna.

Ja jag upplevde att där fanns ett potentiellt problem, ett potentiellt krångel, och kände att det borde väl vara jäkla opraktiskt om inte applikationer fungerade utan en massa för-konfigurerat/installerat shit? Jag menar, vad är ett operativsystem, om inte en plattform att köra applikationer ovanpå? Om inte det räcker med ett operativsystem, utan det ska vara en massa extra laminering i operativsystemet självt innan nåt ska funka ... mardröm typ. Kändes som när man fick reda på att man kan inte 'bara göra' en hemsida, för alla 6-7 populära förekommande webbläsare tolkar samma kod (och även färger) olika!

Jag föreställde mig sig hur det vore om man gjort ett litet ransomware-program som ska hämtas via länk i e-mail och sen automatiskt kryptera hårddisken och visa hotmeddelande. Och så bah "ERROR, användaren måste uppgradera sitt lokala .NET Framework till v4.51 eller senare för att fanskapet ens ska exekveras alls!!". Det kändes inte logiskt för mig. Då skulle inte ransomware kunnat spridas till miljoner datorer på bara nån månad, tyckte jag.

Men det visade sig att det var mycket mer så än jag först trodde. Det lärde jag mig här i tråden. Applikationer behöver oftast stöd och tydligen ännu mer när man använder högnivåspråk än lågnivåspråk. Så jag landade ändå i Pascal eller .NET v3.x, delvis även pga min måttliga programmerings-förmåga. Nåt som skulle kunna tippa balansen till nån fördel mellan dom två, vore vilket som är lättast att porta till IOS/Android, eller även OSX?

Permalänk
Inaktiv
Skrivet av Elgot:

Fast min fråga är väl främst om folk gör sådant nuförtiden i webbapplikationer eller bara har bytt plattform (till Android typiskt) eller slutat helt. Släktforskning var väl rätt inne överlag på tidigt 2000-tal, men numera vet jag inte.

Såklart folks vanor har ändrat. Men man bör fundera på vilken plattform som är bäst för varje sak och vad ens mål är?
Det jag försöker säga är att applikationer som folk ska köra på sina datorer är emot ett väldigt nischat område, dels för att det är svårt att få det förtroende så att folk ens ska våga testa applikationen.
Att sedan folk är dumma och skriver dagböcker och annat som lagras på okända servrar är en annan femma, vissa kända rekryteringsbolag hade inte ens kryptering på användares lösenord. Alltså steget att köra helt krypterat till att inte ens ha det dolt för anställda som kollar in profiler är åt helskotta.

Så mitt råd är fundera på vad man vill utveckla, vad sedan ens mål är?
Är det ett spel eller script man vill utveckla så är det kanske ingen ide att ens prata om webb, även om webspel vid vissa typer kan vara bra.

Skrivet av Dooley:

Ja jag upplevde att där fanns ett potentiellt problem, ett potentiellt krångel, och kände att det borde väl vara jäkla opraktiskt om inte applikationer fungerade utan en massa för-konfigurerat/installerat shit? Jag menar, vad är ett operativsystem, om inte en plattform att köra applikationer ovanpå? Om inte det räcker med ett operativsystem, utan det ska vara en massa extra laminering i operativsystemet självt innan nåt ska funka ... mardröm typ. Kändes som när man fick reda på att man kan inte 'bara göra' en hemsida, för alla 6-7 populära förekommande webbläsare tolkar samma kod (och även färger) olika!

Jag föreställde mig sig hur det vore om man gjort ett litet ransomware-program som ska hämtas via länk i e-mail och sen automatiskt kryptera hårddisken och visa hotmeddelande. Och så bah "ERROR, användaren måste installera .NET Framwork v4.51 eller senare för att fanskapet ens ska exekveras alls!!". Det kändes inte logiskt för mig. Då skulle inte ransomware kunnat spridas till miljoner datorer på bara nån månad, tyckte jag.

Men det visade sig att det var mycket mer så, än jag först trodde. Det lärde jag mig här i tråden. Så jag landade ändå i Pascal eller .NET v3.x, delvis även pga min måttliga programmerings-förmåga. Nåt som skulle kunna tippa balansen till nån fördel mellan dom två, vore vilket som är lättast att porta till IOS/Android, eller även OSX?

Jag programmerade Pascal 1996 och det var redan utdött då, vissa senare gick över till Delphi. Bla en riktigt grym person på sweclockers som jag ej har sett på 10 år. (han gjorde en massa applikationer som många här använde)

Så C# är helt rätt val där, C# är megastort. Det finns hur mycket hjälp som helst och få och det mesta är bara googla på och man hittar någon som ialla mitt fall har löst problemet på ett 100 gånger så bra sätt än vad jag själv skulle göra.

Sedan är det problem som du säger, men .Net är lite som direktX. Folk uppdaterar Net frameworket hela tiden av andra orsaker. Att ens applikation t.ex använder (gaml/nya) directx 9 är inget problem för nästan någon av alla medlemmar här som kör windows.

Permalänk
Medlem
Skrivet av anon159643:

Jag programmerade Pascal 1996 och det var redan utdött då, vissa senare gick över till Delphi.

C# är helt rätt val där, C# är megastort. Det finns hur mycket hjälp som helst och få ...

Folk uppdaterar Net frameworket hela tiden av andra orsaker.

Jag gillar bara inte {
snirkelbrackets
} och
semi-kolon
};

Kalla mig sjuk, men det känns så plottrigt, svårläst.
Jag fick lite positiv feeling för Pascal för det var ännu mer 'vardagsspråk' än VB.NET är.
Jag gillar när det känns som man skriver kommandon likt vanliga ord:

Show.button.name("Button1")
On Button1.Click:
Open.dialog.msg("Hello, world!")

Men är det ändå .Net som visar sig vara mest användbar, för just mig, så .. är det väl bara bita ihop.
Look who's off-topic now

Permalänk
Datavetare
Skrivet av Dooley:

Men det visade sig att det var mycket mer så än jag först trodde. Det lärde jag mig här i tråden. Applikationer behöver oftast stöd och tydligen ännu mer när man använder högnivåspråk än lågnivåspråk. Så jag landade ändå i Pascal eller .NET v3.x, delvis även pga min måttliga programmerings-förmåga. Nåt som skulle kunna tippa balansen till nån fördel mellan dom två, vore vilket som är lättast att porta till IOS/Android, eller även OSX?

Så fort du blandar in flera OS, framförallt IOS/Android, tiltar det hela i väldigt starkt mot JavaScript. JavaScript är webbens "assembler", väldigt många moderna språk har tekniker för att kunna kompileras till JS (även C/C++ ).

Kanske förenklar ännu lite mer genom att använda TypeScript. Orsaken till det är att JavaScript-versioner är ett minfält, om du råkar använda något lite för ny finess kommer det ställa till det i äldre versioner av Windows.

Tyvärr är ECMAScript 3 den äldsta version TypeScript genererar JavaScript för. Det betyder att du behöver Firefox 3+, IE8+, Safari4+ eller Chrome 5+. Det i sin tur begränsar till Win2k och senare, men kanske räcker?

Tips är att använda Visual Studio Code. Är lysande både JavaScript och TypeScript stöd i den programvaran (som är gratis och open-source). VS Code går att köra på Windows, MacOS och de flesta Linux-distributioner (finns färdiga paket för t.ex. Ubuntu).

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

En workstation är i princip en server med häftigare grafik

Om du tycker den behöver stöd för workstation program så tror jag inte du kör workstation program möjligen undantaget adobe programmen som väl numer kan kvalificera som workstation program.

Stöd för extern hårdvara? Som alla windowsonly leksaker som gör dumma saker av budgetskäl och som bara överlever ett windowsversion skifte om inte microsoft ändrar sin devicemodell?

Nej det är det väl inte, en workstation är en klientmaskin (blir väl inte en server bara för ett troligen kör en xeon och ecc eller?).

Adobe CC, Autodesk (AutoCAD, Maya, 3Ds MAX, Inventor), Cinema4D, ProTools, AVID etcetc. Är väl snarare tvärtom, få av de tunga program som fortfarande körs lokalt finns för linux. Många andra scenarion där tunga beräkningar görs körs väl inte lokalt längre och kräver inte en workstation.

Permalänk
Inaktiv
Skrivet av aluser:

En workstation är i princip en server med häftigare grafik

Om du tycker den behöver stöd för workstation program så tror jag inte du kör workstation program möjligen undantaget adobe programmen som väl numer kan kvalificera som workstation program.

Stöd för extern hårdvara? Som alla windowsonly leksaker som gör dumma saker av budgetskäl och som bara överlever ett windowsversion skifte om inte microsoft ändrar sin devicemodell?

Skrivet av sKRUVARN:

Nej det är det väl inte, en workstation är en klientmaskin (blir väl inte en server bara för ett troligen kör en xeon och ecc eller?).

Adobe CC, Autodesk (AutoCAD, Maya, 3Ds MAX, Inventor), Cinema4D, ProTools, AVID etcetc. Är väl snarare tvärtom, få av de tunga program som fortfarande körs lokalt finns för linux. Många andra scenarion där tunga beräkningar görs körs väl inte lokalt längre och kräver inte en workstation.

Jag tycker man bara genom att se på namnet ser vad en workstationen är, sedan med lite semantisk analys ser man att workstation = arbetsdator för större mer krävande arbete. Där större arbete i sin tur betyder olika, laptops som är workstations är byggda för att kunna köra större last en längre tid, medans desktops mer är brutal prestanda som är fokus.
Grafikkortet kan i vissa fall vara vad som helst och nästan samma sak gäller cpun beroende på vad datorn nu används till.
-Det finns såna där miningriggar som har 8 grafikkort och en kass cpu, de är dock inga workstations, men rent teoretisk skulle man kunna ha en workstation med deras hårdvara.

Server och workstations har inget gemensamt mer än att de kan ha likadan hårdvara. En server kan i sin tur ligga på en raspberry pi för 299kr eller vilken dator som helst, har ens dator kapacitet av att surfa in på sweclockers forum så har den också kapacitet att fungera som en slags server för något.

Permalänk
Medlem
Skrivet av Dooley:

Men det visade sig att det var mycket mer så än jag först trodde. Det lärde jag mig här i tråden. Applikationer behöver oftast stöd och tydligen ännu mer när man använder högnivåspråk än lågnivåspråk. Så jag landade ändå i Pascal eller .NET v3.x, delvis även pga min måttliga programmerings-förmåga. Nåt som skulle kunna tippa balansen till nån fördel mellan dom två, vore vilket som är lättast att porta till IOS/Android, eller även OSX?

Generellt sett, ingenting som använder .NET om du vill köra din applikation utanför Microsoft-miljöer.
Andrahandsinfo jag fått om Mono är blandade och inte helt positiva, oftast inte uppdaterat, inte fullt lika snabbt och lite buggigt här och där, har jobbat på ett par företag som brottats med det.
Cross-platform är inte så enkelt, så fort du introducerar grafiska gränssnitt, trådning etc.

Visa signatur

|[●▪▪●]| #Lekburk#: Ryzen 3700X >-< GB-X570-AE >-< 32GB DDR4 >-< MSI RTX 3070 >-< 970 EVO 1TB SSD>--
--< Arctic Freezer 34 >-< FD Define R4 >-< Seasonic F.+ 650W >-< Acer XF270HUA >-< AOC Q2778VQE >--
#Servering#: Ryzen 1700@3,6GHz >-< Prime X470 Pro >-< 16GB DDR4 >-< GTX 1030 >-< 970 EVO 500GB SSD >--
--< Stockkylare >-< Antec P182 >-< Silver Power 600W >-< Samsung 245T |[●▪▪●]|

Permalänk
Medlem
Skrivet av Dooley:

.Net framework 3.x verkar smått lovande, så länge man inte måste utanför Windows iaf. Stöd för det levereras inbyggt i Windows XP, Vista, 7, 8, 8.1, 10, Server 2003, Server 2008, Server 2008 R2, Server 2012, Server 2012 R2, Server 2016, Windows Mobile och Windows Embedded CE. (enligt följande Wikipedia-artikel). Dags att kolla om man kan hitta en kopia av MS Visual Studio Express 2008 dårå ..

Jag hade väntat mig rekommendationer till C++ som jag trodde tillhörde de mest oberoende formaten. Hade jag fel i det?

Även i Visual Studio 2017 kan du välja att utveckla för .Net 3.0.
Och så länge du bara vill koda för Windows tror jag C# och .Net med Visual Studio är det enklaste sättet att faktiskt få något gjort.
Det är en bra utvecklingsmiljö och det är lätt att hitta information/hjälp på nätet oavsett vilken kunskapsnivå man har.

Men om du bara är ute efter att automatisera saker så kan också AutoIt vara ett alternativ.

Permalänk
Medlem
Skrivet av anon159643:

Jag tycker man bara genom att se på namnet ser vad en workstationen är, sedan med lite semantisk analys ser man att workstation = arbetsdator för större mer krävande arbete. Där större arbete i sin tur betyder olika, laptops som är workstations är byggda för att kunna köra större last en längre tid, medans desktops mer är brutal prestanda som är fokus.
Grafikkortet kan i vissa fall vara vad som helst och nästan samma sak gäller cpun beroende på vad datorn nu används till.
-Det finns såna där miningriggar som har 8 grafikkort och en kass cpu, de är dock inga workstations, men rent teoretisk skulle man kunna ha en workstation med deras hårdvara.

Server och workstations har inget gemensamt mer än att de kan ha likadan hårdvara. En server kan i sin tur ligga på en raspberry pi för 299kr eller vilken dator som helst, har ens dator kapacitet av att surfa in på sweclockers forum så har den också kapacitet att fungera som en slags server för något.

Du behöver inte göra någon analys det finns definierat i Oxford dictionary:
A desktop computer terminal, typically networked and more powerful than a personal computer.

Måstedock säga att det var många ord utan att jag hittade något som motsäger mig påstående "En workstation är i princip en server med häftigare grafik"

miningriggen är en vadå? Den har brutal prestanda i gpu:erna fast inte i cpu:n så den är inte en klient? Jag förutsätter att den är byggd för att köra större last en längre tid även om man försöker pressa avskrivningen på utrustningen för att hänga med marknaden så vad är det som gör att den inte är en workstation? Den är inte en server för att den inte servar något utåt? Blir den en server om du installerar remote access programvara för att slippa gå till den?

Permalänk
Medlem
Skrivet av aluser:

En workstation är i princip en server med häftigare grafik

Om du tycker den behöver stöd för workstation program så tror jag inte du kör workstation program möjligen undantaget adobe programmen som väl numer kan kvalificera som workstation program.

Stöd för extern hårdvara? Som alla windowsonly leksaker som gör dumma saker av budgetskäl och som bara överlever ett windowsversion skifte om inte microsoft ändrar sin devicemodell?

Inte för att börja en sidospår om Linux vs andra OS. Men ... med Workstation menade jag en dator som är installerad- och hängiven för en eller ett par specifika arbetsuppgifter, där valet av hårdvara är specifikt utvald och systemet specifikt konfiggat. Inget Microsoft Office eller antivirus installerat t.ex. ibland inte ens nätansluten.
När det gäller drivrutiner för hårdvara som är branchstandard för video-, audio-, eller simuleringsarbete m.m. så är stödet hos Linux för sån hårdvara erbarmligt dåligt. Även mjukvarumässigt är det väldigt tunnsått. De flesta branschstandardprogram för audio, video simulering m.m. finns inte heller för Linux. Och om det finns nåt enstaka, så utvecklas det inte plugins, tillägg eller expansioner för såna program hos Linux. Och det sägs inte ett knyst om att sånt finns på horisonten. Troligen som sagt för att Linux ägnat sig åt server-marknaden dom sista 20 åren.

Det var så jag menade.
I övrigt tycker jag Linux är spännande som fasen.

Permalänk
Inaktiv
Skrivet av aluser:

Du behöver inte göra någon analys det finns definierat i Oxford dictionary:
A desktop computer terminal, typically networked and more powerful than a personal computer.

Måstedock säga att det var många ord utan att jag hittade något som motsäger mig påstående "En workstation är i princip en server med häftigare grafik"

Man kan ordbajsa, någon citerade dig och jag citerade båda.
för vissa kan typ din beskrivning vara bra, för andra finns det brister. Och det beror på vem man ska förklara för?

Skrivet av aluser:

miningriggen är en vadå? Den har brutal prestanda i gpu:erna fast inte i cpu:n så den är inte en klient? Jag förutsätter att den är byggd för att köra större last en längre tid även om man försöker pressa avskrivningen på utrustningen för att hänga med marknaden så vad är det som gör att den inte är en workstation? Den är inte en server för att den inte servar något utåt? Blir den en server om du installerar remote access programvara för att slippa gå till den?

Server = dator som betjänar andra system/datorer. Den kan vara hur slö eller kraftig som helst, men just att den är till för att andra system ska använda den. En människa kan mycket väl sitta och jobba vid en server som vilken dator som helst, men då är det en massa annan hårdvara som den är server emot.

Klient = dator som ansluts till en server. Många kallar alla billiga datorer för klieter, på sätt och viss blir dem detta när man surfar in på en webbserver. Frågan är dock när det är meningsfullt att kalla dem för klienter? Går man in på Elgiganten och säger, tjena jag ska köpa en klientdator så undrar de vad man är för någon? Jag kallar de dock bland för klienter, men det handlar om att jag oftast ser dem som detta och det bara blir av farten. Lite som vissa kallar 1080Ti etc för ett Gaming grafikkort.

Workstation: Kraftigare arbetsdator

Miningrigg: Inget av de ovanför, jag skulle kalla den för en beräkningsdator/hårdvara. Dens uppgift är endast att utföra beräkningar.

Skrivet av Dooley:

Inte för att börja en sidospår om Linux vs andra OS. Men ... med Workstation menade jag en dator som är installerad- och hängiven för en eller ett par specifika arbetsuppgifter, där valet av hårdvara är specifikt utvald och systemet specifikt konfiggat. Inget Microsoft Office eller antivirus installerat t.ex. ibland inte ens nätansluten.

Håller ej med. Och se på de datorer som ofta säljs som Workstations, lenevo p51/71, mac pro etc, så används de precis som vilken dator som helst. Många har ingen annan dator än just detta, så datorn används till netflex, faceboo, vanligt office etc.

Det unika med Workstations på desktop sidan en kraft utöver det vanliga. det folk här på forumet kallar för entusiast-dator kallar användare av workstations för mer eller mindre ren dritt, om de skulle tvingas utföra sitt jobb på den.
Se det lite som lastbilschauffören som ska flytta en last med 30ton virke, de säger åt honom kör lasten med den vita volvon där borta. Han letar som bara den hittar ej lastbilen och sedan får veta att de syftade på en Volvo XC 90.. (samma sak gäller entusiast vs workstation dator)

*edit*
En workstation är ofta ingen bra speldator, på samma sätt att lastbilen inte är den snabbaste på autobahn.