Vad är mest populärt: QT eller Visual Studio?

Permalänk
Medlem
Skrivet av heretic16:

Bara notera. Jag skall INTE hålla på med web. Bara inbyggda system.

Så då kanske Qt är lösningen trots allt ?
Eller .NET kanske löser problemet ändå ?

Fortfarande totalt otydligt.

Qt inom inbyggda system används givetvis till lite allt möjligt, men för det som körs på de inbyggda systemen kommer ju köra på Linux eller någon kommersiell RTOS.

.NET jobbar du inte med om du jobbar med C++. Körs koden på Windows kan du använda C# och WinUI. .NET MAUI som är efterföljaren till Xamarin.forms är knappast riktad mot inbyggda system utan snarare mot Android och iOS, det har inte Linuxstöd.

Permalänk
Skrivet av Petterk:

Fortfarande totalt otydligt.

Qt inom inbyggda system används givetvis till lite allt möjligt, men för det som körs på de inbyggda systemen kommer ju köra på Linux eller någon kommersiell RTOS.

.NET jobbar du inte med om du jobbar med C++. Körs koden på Windows kan du använda C# och WinUI. .NET MAUI som är efterföljaren till Xamarin.forms är knappast riktad mot inbyggda system utan snarare mot Android och iOS, det har inte Linuxstöd.

Så Microsoft har ännu inte släppt stöd för att utveckla grafiska applikationer på Linux vis .net?

Permalänk
Medlem
Skrivet av heretic16:

Så Microsoft har ännu inte släppt stöd för att utveckla grafiska applikationer på Linux vis .net?

Nej, självklart inte. De övergav Gtk# efter de köpte upp Xamarin.

Det finns en fork.

Permalänk
Skrivet av Petterk:

Nej, självklart inte. De övergav Gtk# efter de köpte upp Xamarin.

Det finns en fork.

Okej, det sög ju.
Trodde man kunde köra .NET på ARM/Linux

Permalänk
Medlem
Skrivet av heretic16:

Jo, men JS är väll bara för webb?
Visst, det finns electron JS. Jag vet. Fortfarande en webbläsare

Nejdå, JS används flitigt även på serversidan.
https://nodejs.org/en

Visa signatur

CPU: Ryzen 9 3900x Noctua NH-D14 MOBO: TUF Gaming X570-PLUS GPU: GTX 980 RAM: 32 GB 3200 MHz Chassi: R4 PSU: Corsair AX860 Hörlurar: SteelSeries 840 Mus: Logitech G502 Lightspeed V.v. nämn eller citera mig för att få svar.

Permalänk
Medlem
Skrivet av heretic16:

Vim är en enklare textredigerare. Visual Studio är en stor IDE.

😮
Så fel det kan bli.
Är VS en mer fullfjädrad IDE out of the box? Ja.
Men både Vim och VS Code kan göra nästan allt VS gör, dock med hjälp av plugins som man lägger till. Och då har du en mer lättviktare som inte är blottad med grejer du inte behöver.

Permalänk
Datavetare
Skrivet av heretic16:

Bara notera. Jag skall INTE hålla på med web. Bara inbyggda system.

Så då kanske Qt är lösningen trots allt ?
Eller .NET kanske löser problemet ändå ?

"Inbyggda system" kan betyda rätt mycket. Eftersom du nämner C++ antar jag att det här refererar till mikrokontrollers.

Historiskt har det varit rätt uteslutande C och en enklare form av C++ på dessa.

Det ser idag förändring (men kommer ta lång tid). Dels rekommenderar allt fler, bl.a. USA regering, att man bör undvika C C++ i nya projekt om möjligt givet hur stor andel säkerhetsproblem som kommer av minnes-buggar som inte ens skulle kompilera i de flesta "moderna" språk.

Problemet för mikrokontrollers är väl att Rust är det enda direkta alternativet (motsvarande prestanda och minnesavtryck) och det är en viss tröskel att ta sig över för att komma igång med det språket.

Beroende på vad man gör är MicroPython idag tillräckligt moget för att användas "på riktigt" och det ökar i popularitet när man använder lite kraftigare mikrokontrollers som ESP32 och RPi Pico.

Har själv mest jobbat med med större "inbyggda system", de är idag nästan alltid någon form av Linux-variant och där är det fullt möjligt att köra "nästan vad som helst", inklusive .NET (som idag fungerar riktigt bra på Linux/ARM64), Go (min favorit just nu), NodeJS (Node-Red är populärt i bl.a. industritillämpningar).

Skrivet av heretic16:

Så Microsoft har ännu inte släppt stöd för att utveckla grafiska applikationer på Linux vis .net?

Microsoft: nej. Men sedan lansering av .NET Core (som sedan blev "vanliga" .NET) har själva ramverket väldigt bra stöd för Linux.

Specifikt för grafiska applikationer är de realistiska alternativen inom ramen för .NET Avalonia och UNO Platform. Har bara använt Avalona själv, det är helt klart "production ready" sedan många år tillbaka.

UNO Project är nyare och verkar primärt göra så att WinUI applikationer kan köras på Linux/MacOS. Fast det verkar i nuläget vara x86 only på alla plattformar, Avalonia stödjer x86 och ARM64 på Windows, Linux och MacOS.

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

Tack. Där har vi svaret på frågan. Personligen har jag svårt att greppa dot NET. Alla programmerare som jag känner brukar säga "detta är programmerat i dot NET" och samtidigt "dot NET är inget programmeringsspråk". Haha.

Då väljer jag Visual Studio.

Det är inte så svårt.

.NET är ett ramverk. Det går att använda .NET med olika programmeringsspråk t.ex. C#, F# eller Visual Basic.

.NET är i sig inte ett programmeringsspråk, men man kan utveckla applikationer med .NET som grundramverk.

Visa signatur

| MSI B650 Tomahawk | Ryzen 7 9800X3D | ASUS RTX 3070 | 64GB DDR5 6000MHz | MSI MPG A1000G | Samsung 970 Evo M.2 1TB + 2x WD Black SN850X 2TB|

Permalänk
Medlem
Skrivet av heretic16:

VS code är så billigt. Då är det bättre med en riktig IDE

Vad är en "riktigt" IDE?

Skrivet av heretic16:

Visual Studio Community 2022. VS Code är för dom som brukade använda vim.

Det är inte min observation. Jag som brukade köra vim kör fortfarande vim alternativt neovim.

Skrivet av heretic16:

Om man säger så här. Är det bättre att investera sin tid i QT eller lära sig Microsofts C++ utvecklingsverktyg? Microsoft brukar ha en tendens att skrota sina produkter, medan QT verkar vara långlivad.

Det beror väl lite på ditt use-case. Jag har personligen aldrig känt behovet av att kunna ett GUI-lib, har du?

Permalänk
Skrivet av Yoshman:

"Inbyggda system" kan betyda rätt mycket. Eftersom du nämner C++ antar jag att det här refererar till mikrokontrollers.

Historiskt har det varit rätt uteslutande C och en enklare form av C++ på dessa.

Det ser idag förändring (men kommer ta lång tid). Dels rekommenderar allt fler, bl.a. USA regering, att man bör undvika C C++ i nya projekt om möjligt givet hur stor andel säkerhetsproblem som kommer av minnes-buggar som inte ens skulle kompilera i de flesta "moderna" språk.

Problemet för mikrokontrollers är väl att Rust är det enda direkta alternativet (motsvarande prestanda och minnesavtryck) och det är en viss tröskel att ta sig över för att komma igång med det språket.

Beroende på vad man gör är MicroPython idag tillräckligt moget för att användas "på riktigt" och det ökar i popularitet när man använder lite kraftigare mikrokontrollers som ESP32 och RPi Pico.

Har själv mest jobbat med med större "inbyggda system", de är idag nästan alltid någon form av Linux-variant och där är det fullt möjligt att köra "nästan vad som helst", inklusive .NET (som idag fungerar riktigt bra på Linux/ARM64), Go (min favorit just nu), NodeJS (Node-Red är populärt i bl.a. industritillämpningar).

Microsoft: nej. Men sedan lansering av .NET Core (som sedan blev "vanliga" .NET) har själva ramverket väldigt bra stöd för Linux.

Specifikt för grafiska applikationer är de realistiska alternativen inom ramen för .NET Avalonia och UNO Platform. Har bara använt Avalona själv, det är helt klart "production ready" sedan många år tillbaka.

UNO Project är nyare och verkar primärt göra så att WinUI applikationer kan köras på Linux/MacOS. Fast det verkar i nuläget vara x86 only på alla plattformar, Avalonia stödjer x86 och ARM64 på Windows, Linux och MacOS.

Det låter intressant med .NET.
Jag är van med Visual Studio Community 2022 och gillar det skarpt. Fin miljö.

Så om jag vill koda lite C++ eller C för Linux. Typ en grafisk applikation. Det ska vara skapat i .NET. Hur gör jag då?

Det måste vara anpassat mot långtidsprojekt. Inga lek-bibliotek som python använder.

Permalänk
Medlem
Skrivet av heretic16:

Det låter intressant med .NET.
Jag är van med Visual Studio Community 2022 och gillar det skarpt. Fin miljö.

Så om jag vill koda lite C++ eller C för Linux. Typ en grafisk applikation. Det ska vara skapat i .NET. Hur gör jag då?

Det måste vara anpassat mot långtidsprojekt. Inga lek-bibliotek som python använder.

När jag läser Yoshmans inlägg så hittar jag informationen du söker där.

Visa signatur

Ryzen 7 7800X3D | ASUS TUF Gaming B650-Plus WIFI | Kingston 32GB (2x16GB) DDR5 6GT/s CL30 FURY Beast | Kingston Fury Renegade M.2 NVMe SSD Gen 4 2TB | MSI RTX 4060 8GB | Fractal Design Define S | MSI MPG A850G 850W | Thermalright Phantom Spirit 120 SE | Windows 11 Pro | AOC 27" AGON AG276QZD2 OLED QHD 240 Hz

Permalänk
Skrivet av Joppis:

När jag läser Yoshmans inlägg så hittar jag informationen du söker där.

Problemet är att det är tredje parts bibliotek. Dom lever sällan länge. Jag hade förväntat mig att Microsoft kunde erbjuda .net för Linux där man kan direkt koda i .net miljön och kompilera för Linux.

Permalänk
Datavetare
Skrivet av heretic16:

Problemet är att det är tredje parts bibliotek. Dom lever sällan länge. Jag hade förväntat mig att Microsoft kunde erbjuda .net för Linux där man kan direkt koda i .net miljön och kompilera för Linux.

Avalonia är inne på sitt 11:e år och listan på företag som använder det i nuläget lär finnas kvar längre än ditt hemmaprojekt här

Det är superenkelt att komma igång med och stöd finns för CLI (dotnet programmet, vilket du vill ha för din CI/CD-pipeline och annan automatisering), VS Code (https://marketplace.visualstudio.com/items?itemName=AvaloniaT...) och VS 2022 (aldrig använt, men finns här https://marketplace.visualstudio.com/items?itemName=AvaloniaT... .

För att få upp templates och likande i dotnet (och tydligen även ge templates i VS2022) följer man bara detta
https://docs.avaloniaui.net/docs/get-started/install

Likt flera andra moderna miljöer (men tillskillnad från C och C++ om man vill har håret kvar...), t.ex. Go, så är det väldigt enkelt att utveckla .NET applikationer på t.ex. MacOS eller Windows för att sedan skapa en release till t.ex. Linux. Går även att skapa release för "fel" CPU-arkitektur (ja, allt detta går att göra med C/C++, men det är inte något nybörjaren fixar precis...)

Skrivet av heretic16:

Det låter intressant med .NET.
Jag är van med Visual Studio Community 2022 och gillar det skarpt. Fin miljö.

Så om jag vill koda lite C++ eller C för Linux. Typ en grafisk applikation. Det ska vara skapat i .NET. Hur gör jag då?

Det måste vara anpassat mot långtidsprojekt. Inga lek-bibliotek som python använder.

Du menar "lek-bibliotek" som NumPy som är inne på sitt 29:e år och är en världens mest använda bibliotek just nu?

Visa signatur

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

Permalänk
Hedersmedlem
Skrivet av heretic16:

Problemet är att det är tredje parts bibliotek. Dom lever sällan länge. Jag hade förväntat mig att Microsoft kunde erbjuda .net för Linux där man kan direkt koda i .net miljön och kompilera för Linux.

Det finns.

https://learn.microsoft.com/en-us/dotnet/core/install/linux

Permalänk
Medlem
Skrivet av heretic16:

Det låter intressant med .NET.
Jag är van med Visual Studio Community 2022 och gillar det skarpt. Fin miljö.

Så om jag vill koda lite C++ eller C för Linux. Typ en grafisk applikation. Det ska vara skapat i .NET. Hur gör jag då?

Det måste vara anpassat mot långtidsprojekt. Inga lek-bibliotek som python använder.

Procenten code snobbery i den här tråden ökar med jämn takt

Permalänk
Medlem

Jag kör båda. Qt ramverket med Qt Creator IDE för generell C++ samt JetBrains Rider för både UE C++ och för Webdev/C# (.net)
Behöver inte vara "antingen eller", rätt verktyg till rätt uppgift efter smak.

Permalänk
Medlem
Skrivet av heretic16:

Det låter intressant med .NET.
Jag är van med Visual Studio Community 2022 och gillar det skarpt. Fin miljö.

Så om jag vill koda lite C++ eller C för Linux. Typ en grafisk applikation. Det ska vara skapat i .NET. Hur gör jag då?

Det måste vara anpassat mot långtidsprojekt. Inga lek-bibliotek som python använder.

Då byter du förmodligen språk till C#, och om du kodar på GNU/Linux hämtar du hem .NET-paketen från din distro/repo och hämtar hem de verktyg som du föredrar och börjar använda Avalonia. Avalonia används faktiskt i verkligheten och kommer därför få fortsatt stöd, skulle lita på det mer än något sidoprojekt från Microsoft. Avalonia är till skillnad från Gtk# tänkt att bland annat användas i inbyggda system, t.ex. system utan Xorg/Wayland. Nu går det ju att köra Weston/Wayland på nästan allt så det är ingen stor sak.

Vill du koda en grafisk application i C eller C++ använder du förmodligen Qt eller GTK.

Permalänk
Hedersmedlem
Skrivet av Petterk:

Det är nog inte jättevanligt att använda QT Creator för utveckling mot Windows, mot vissa inbyggda system är det nog fortfarande ganska utbrett.

Jodå, QtCreator är som sagt, liksom Visual studio, bara en IDE som egentligen inte bryr sig om vilka bibliotek du använder (även om den har inbyggt stöd för Qt). Den är inte alls ett dåligt val och fungerar dessutom likadant på Windows, linux och Mac.

Skrivet av Haptic:

QT är ett ramverk du använder för att slippa uppfinna hjulet igen när du kodar i din valda IDE, och QT är specifikt för C++.

Qt har väl numera officiellt pythonstöd också?

Permalänk
Hedersmedlem
Skrivet av heretic16:

Jag har kört QT. Det var OK, så länge man undviker databaser och grafik/grafer. En annan nackdel med QT var att man var låst till deras bibliotek och allt började på Q.

Jag vet att du brukar hävda detta, men det är inte riktigt sant. Qt har inbyggd funktionalitet för många saker inklusive grafik, grafer och databaser. Det fungerar vanligtvis strålande, men om man av någon anledning vill använda något annat gör inte Qt något för att begränsa dig.

Permalänk
Skrivet av Yoshman:

Avalonia är inne på sitt 11:e år och listan på företag som använder det i nuläget lär finnas kvar längre än ditt hemmaprojekt här
<Uppladdad bildlänk>

Det är superenkelt att komma igång med och stöd finns för CLI (dotnet programmet, vilket du vill ha för din CI/CD-pipeline och annan automatisering), VS Code (https://marketplace.visualstudio.com/items?itemName=AvaloniaT...) och VS 2022 (aldrig använt, men finns här https://marketplace.visualstudio.com/items?itemName=AvaloniaT... .

För att få upp templates och likande i dotnet (och tydligen även ge templates i VS2022) följer man bara detta
https://docs.avaloniaui.net/docs/get-started/install

Men Avalonia är bara för C#, F# och VB.NET. den saknar C++.
Jag brukar hålla mig till C eller C++. Inte för att dom är de bästa språken, utan för att dom är anpassat för hårdvara.

Citat:

Likt flera andra moderna miljöer (men tillskillnad från C och C++ om man vill har håret kvar...), t.ex. Go, så är det väldigt enkelt att utveckla .NET applikationer på t.ex. MacOS eller Windows för att sedan skapa en release till t.ex. Linux. Går även att skapa release för "fel" CPU-arkitektur (ja, allt detta går att göra med C/C++, men det är inte något nybörjaren fixar precis...)

Kan man använda Maui med C++ för att skapa GUI för Linux ?

Citat:

Du menar "lek-bibliotek" som NumPy som är inne på sitt 29:e år och är en världens mest använda bibliotek just nu?

Jag menar övriga bibliotek som bara massproduceras på GitHub och sedan överges dom när skaparen skaffar familj.

Ja, där ser man. Kul. Ska komma upp denna länk.

Skrivet av HappyPie:

Jag kör båda. Qt ramverket med Qt Creator IDE för generell C++ samt JetBrains Rider för både UE C++ och för Webdev/C# (.net)
Behöver inte vara "antingen eller", rätt verktyg till rätt uppgift efter smak.

Inom vilket område kodar du i? Är det små inbyggda system som kör Linux?

Skrivet av Petterk:

Då byter du förmodligen språk till C#, och om du kodar på GNU/Linux hämtar du hem .NET-paketen från din distro/repo och hämtar hem de verktyg som du föredrar och börjar använda Avalonia. Avalonia används faktiskt i verkligheten och kommer därför få fortsatt stöd, skulle lita på det mer än något sidoprojekt från Microsoft. Avalonia är till skillnad från Gtk# tänkt att bland annat användas i inbyggda system, t.ex. system utan Xorg/Wayland. Nu går det ju att köra Weston/Wayland på nästan allt så det är ingen stor sak.

Vill du koda en grafisk application i C eller C++ använder du förmodligen Qt eller GTK.

GTK är ju C. Men ser att GTK fungerar för många olika språk.
Jag tror jag väljer QT före GTK.

Skrivet av Elgot:

Jodå, QtCreator är som sagt, liksom Visual studio, bara en IDE som egentligen inte bryr sig om vilka bibliotek du använder (även om den har inbyggt stöd för Qt). Den är inte alls ett dåligt val och fungerar dessutom likadant på Windows, linux och Mac.

Qt har väl numera officiellt pythonstöd också?

Jag vill bara använda ett seriöst stort bibliotek som stöds av stora företag. .Net och Att är ett av dom.

Skrivet av Elgot:

Jag vet att du brukar hävda detta, men det är inte riktigt sant. Qt har inbyggd funktionalitet för många saker inklusive grafik, grafer och databaser. Det fungerar vanligtvis strålande, men om man av någon anledning vill använda något annat gör inte Qt något för att begränsa dig.

Jag menar QT med C++. Det är inte lika kul med grafik. Hundratals filer blir det också med QT C++. Däremot ser QML riktigt fint ut. Verkar vara framtiden.

Permalänk
Hedersmedlem
Skrivet av heretic16:

Jag menar QT med C++. Det är inte lika kul med grafik. Hundratals filer blir det också med QT C++. Däremot ser QML riktigt fint ut. Verkar vara framtiden.

Qt har rätt trevliga klasser för både 2d- och 3d-grafik, men det är förstås upp till var och en om man gillar dem. Att det ”blir många filer” är väl inte heller någon fundamental egenskap (eller problem) hos Qt utan bara hur man brukar strukturera större projekt. Du kan skriva all kod i samma fil om du vill, men det är väl inte något som uppmuntras av någon (om det inte gäller väldigt simpla applikationer)?

QML är nyare och bättre lämpat för till exempel mobil- eller webbapplikationer men för traditionella program finns det områden där Widgets fortfarande är bättre. Om man till exempel vill ha dockningsbara fönster eller MDI (det är väl dock kanske inte så hett numera). Dessutom får man vara beredd på att skriva en hel del javascript, vilket man kanske inte är van vid.

Permalänk
Medlem
Skrivet av heretic16:

Kan man använda Maui med C++ för att skapa GUI för Linux ?

.NET MAUI är för .NET. Du kan inte använda C++.

C++/CLI finns förvisso, men det är nog "Windows only".

Skrivet av heretic16:

GTK är ju C. Men ser att GTK fungerar för många olika språk.
Jag tror jag väljer QT före GTK.

Vad ett GUI toolkit är skrivet i för språk påverkar inte där, stödet för C++ kommer inte försvinna.

[/quote] på rätt ställe.
Permalänk
Skrivet av Elgot:

Qt har rätt trevliga klasser för både 2d- och 3d-grafik, men det är förstås upp till var och en om man gillar dem. Att det ”blir många filer” är väl inte heller någon fundamental egenskap (eller problem) hos Qt utan bara hur man brukar strukturera större projekt. Du kan skriva all kod i samma fil om du vill, men det är väl inte något som uppmuntras av någon (om det inte gäller väldigt simpla applikationer)?

QML är nyare och bättre lämpat för till exempel mobil- eller webbapplikationer men för traditionella program finns det områden där Widgets fortfarande är bättre. Om man till exempel vill ha dockningsbara fönster eller MDI (det är väl dock kanske inte så hett numera). Dessutom får man vara beredd på att skriva en hel del javascript, vilket man kanske inte är van vid.

Jag gillade inte C++ i Qt. Det var så mycket att skriva kod med. Jag kanske prövar QML om inte Microsoft har något bättre att erbjuda.

Permalänk
Hedersmedlem
Skrivet av heretic16:

Jag gillade inte C++ i Qt. Det var så mycket att skriva kod med. Jag kanske prövar QML om inte Microsoft har något bättre att erbjuda.

Jag vet inte riktigt vad du menar, men om man använder Designer för att skapa användargränssnitten slipper man göra det med kod. Då behöver man bara implementera själva funktionaliteten och det är väl svårt att undvika ovavsett vilket ramverk (eller språk) man väljer...

Permalänk
Skrivet av Elgot:

Jag vet inte riktigt vad du menar, men om man använder Designer för att skapa användargränssnitten slipper man göra det med kod. Då behöver man bara implementera själva funktionaliteten och det är väl svårt att undvika ovavsett vilket ramverk (eller språk) man väljer...

Qt designer var fint. Men problemet var att det var ändå mycket kod att skriva för det var bara sådana krav för att få något upp på skärmen.

Det är väll därför QML togs fram.

Permalänk
Hedersmedlem
Skrivet av heretic16:

Qt designer var fint. Men problemet var att det var ändå mycket kod att skriva för det var bara sådana krav för att få något upp på skärmen.

Men stämmer det verkligen (och i så fall jämfört med vad)?

Detta visar en knapp:

#include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("Test"); button.show(); return app.exec(); }

Om man istället använder QtCreator och Designer kan man skapa ett nytt Widgets-project, dra ut en knapp och trycka på Run. Man behöver inte skriva en enda rad.
Komplexare gränssnitt kan förstås kräva mera jobb, men det gäller nog oavsett vilket ramverk man väljer.

Skrivet av heretic16:

Det är väll därför QML togs fram.

Jag är inte så säker på att QML leder till mindre kod, men det har som sagt andra fördelar.

Permalänk
Datavetare
Skrivet av heretic16:

Men Avalonia är bara för C# F# och VB.NET. den saknar C++.
Jag brukar hålla mig till C eller C++. Inte för att dom är de bästa språken, utan för att dom är anpassat för hårdvara.

Det fanns något halvmärkligt C++ stöd i .NET en gång i tiden, det är som tur är bortplockat nu.
Så ja, .NET betyder i >9 fall av 10 C#.

Skrivet av heretic16:

Kan man använda Maui med C++ för att skapa GUI för Linux ?

MAUI stöder inte Linux, det stödjer Windows, MacOS, iOS och Android.
Avalonia stödjer däremot Linux, både x86 och ARM64. Går både att utveckla på och göra deploy till alla dessa permutationer.

Det "går att använda" med C/C++ då en sak Microsoft såg till från start med .NET var att det är relativt enkelt och framförallt effektivt att använda kod skrivet i C/C++ från .NET. Dock är det ett extra lager med besvär över att bara använda C++, så bara värt det om det finns stora fördelar med att köra .NET i den del man väljer att utveckla där.

Har jobbat i projekt som kombinerar .NET/C# och "native" C++. Var inte med från start utan kom in när det redan fanns, personligen skulle jag i det fallet skrivit allt i .NET/C# för fanns egentligen inget stor värde med att det som var i C++ var just i C++.

Skrivet av heretic16:

Jag menar övriga bibliotek som bara massproduceras på GitHub och sedan överges dom när skaparen skaffar familj.

Det gäller ju alla populära språk/ramverk. Där poppar det upp massor med "jag löste något roligt och pushade det till github".

C++, C# och i nuläget framförallt Python är med bland de mest använda språken i världen just nu så finns också en rad 3:e-parts bibliotek med väldigt bra stöd som kommer leva årtionden från nu.

Visa signatur

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

Permalänk
Hedersmedlem
Skrivet av Yoshman:

Det fanns något halvmärkligt C++ stöd i .NET en gång i tiden, det är som tur är bortplockat nu.

Om du menar C++/CLI (det hette väl något annat i begynnelsen) så var det borta ett tag, men det kom tillbaka i .Net Core 3.1. Bara för Windows dock.

Permalänk
Medlem
Skrivet av heretic16:

Jag menar övriga bibliotek som bara massproduceras på GitHub och sedan överges dom när skaparen skaffar familj.

Det är väl så med alla kodprojekt, även stora bolag som Microsoft, Google osv är ju ökända för att överge projekt så det är ingen trygghet. Jag tycker det brukar vara lättast att kolla på commit-trafiken och mängden contributors för att avgöra vilka projekt jag satsar på.

Permalänk
Skrivet av Elgot:

Men stämmer det verkligen (och i så fall jämfört med vad)?

Detta visar en knapp:

#include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("Test"); button.show(); return app.exec(); }

Om man istället använder QtCreator och Designer kan man skapa ett nytt Widgets-project, dra ut en knapp och trycka på Run. Man behöver inte skriva en enda rad.
Komplexare gränssnitt kan förstås kräva mera jobb, men det gäller nog oavsett vilket ramverk man väljer.

Jag är inte så säker på att QML leder till mindre kod, men det har som sagt andra fördelar.

Skrivet av Yoshman:

Det fanns något halvmärkligt C++ stöd i .NET en gång i tiden, det är som tur är bortplockat nu.
Så ja, .NET betyder i >9 fall av 10 C#.

MAUI stöder inte Linux, det stödjer Windows, MacOS, iOS och Android.
Avalonia stödjer däremot Linux, både x86 och ARM64. Går både att utveckla på och göra deploy till alla dessa permutationer.

Det "går att använda" med C/C++ då en sak Microsoft såg till från start med .NET var att det är relativt enkelt och framförallt effektivt att använda kod skrivet i C/C++ från .NET. Dock är det ett extra lager med besvär över att bara använda C++, så bara värt det om det finns stora fördelar med att köra .NET i den del man väljer att utveckla där.

Har jobbat i projekt som kombinerar .NET/C# och "native" C++. Var inte med från start utan kom in när det redan fanns, personligen skulle jag i det fallet skrivit allt i .NET/C# för fanns egentligen inget stor värde med att det som var i C++ var just i C++.

Det gäller ju alla populära språk/ramverk. Där poppar det upp massor med "jag löste något roligt och pushade det till github".

C++, C# och i nuläget framförallt Python är med bland de mest använda språken i världen just nu så finns också en rad 3:e-parts bibliotek med väldigt bra stöd som kommer leva årtionden från nu.

Så om .NET betyder C# idag så kanske man får titta på något annat. Visst skulle Qt fungera, men då får jag ta och lära mig QML. C++ i Qt tyckte jag inte var så bra. Visst var "signals & slots" bekvämt, men det blev väldigt grötigt. Dessutom var C++ i Qt horribelt dåligt på dynamiska grafer. Helt kasst. Fungerade inte ens. Man fick istället använda QCustomPlots, vilket inte har uppdaterats på 2 år. Så Qt för C++ var hemskt.

I så fall får det bli QML med Qt. Bara för att det är nytt, fräscht och stöds bakom ett stort företag, skriver lite kod för att få något gjort, samt passar linux och kan läsa C++ funktioner. Jag har lite C kod som behövs läsas med ett GUI.

Skrivet av Elgot:

Om du menar C++/CLI (det hette väl något annat i begynnelsen) så var det borta ett tag, men det kom tillbaka i .Net Core 3.1. Bara för Windows dock.

Tackar. Men jag söker C++ för Linux.

Skrivet av orp:

Det är väl så med alla kodprojekt, även stora bolag som Microsoft, Google osv är ju ökända för att överge projekt så det är ingen trygghet. Jag tycker det brukar vara lättast att kolla på commit-trafiken och mängden contributors för att avgöra vilka projekt jag satsar på.

Exakt. Men .NET lär dom aldrig överge.