История изменений
Исправление lovesan, (текущая версия) :
Жирный жирный как поезд пассажирный.
Да откуда ж вы такие беретесь. Нихрена не знаете, зато с каким апломбом несете хрень.
lovesan@ubuntu:~/hello$ cat hello.cs
System.Console.WriteLine("Hello, World!");
lovesan@ubuntu:~/hello$ cat hello.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<PublishTrimmed>true</PublishTrimmed>
<PublishSingleFile>true</PublishSingleFile>
</PropertyGroup>
</Project>
lovesan@ubuntu:~/hello$ dotnet publish -c Release -a x64 --self-contained -o output
MSBuild version 17.4.8+6918b863a for .NET
Determining projects to restore...
All projects are up-to-date for restore.
hello -> /home/lovesan/hello/bin/Release/net7.0/linux-x64/hello.dll
hello -> /home/lovesan/hello/output/
lovesan@ubuntu:~/hello$ ll output
total 12932
drwxr-xr-x 2 lovesan lovesan 4096 Oct 14 22:18 ./
drwxr-xr-x 5 lovesan lovesan 4096 Oct 14 22:18 ../
-rwxr-xr-x 1 lovesan lovesan 13221007 Oct 14 22:18 hello*
-rw-r--r-- 1 lovesan lovesan 10044 Oct 14 22:17 hello.pdb
lovesan@ubuntu:~/hello$ ./output/hello
Hello, World!
lovesan@ubuntu:~/hello$ ldd ./output/hello
linux-vdso.so.1 (0x00007fffdb5b9000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff856717000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff856712000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff8566f6000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff85660f000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff85660a000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff8565e4000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff856377000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff85614f000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff8571dd000)
Это дотнет, как понятно. Всё. 13 мегабайт файл, в котором есть тупо все, весь нужный дотнет рантайм итд, и который не отличим от бинарника на плюсах. Лиспы аналогично могут. И производительность там будет получше чем в Golang. Про легкость поддержки и качество кода вообще не говорю.
Исходная версия lovesan, :
Жирный жирный как поезд пассажирный.
Да откуда ж вы такие беретесь. Нихрена не знаете, зато с каким апломбом несете хрень.
lovesan@ubuntu:~/hello$ cat hello.cs
System.Console.WriteLine("Hello, World!");
lovesan@ubuntu-wsl2:~/hello$ cat hello.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<PublishTrimmed>true</PublishTrimmed>
<PublishSingleFile>true</PublishSingleFile>
</PropertyGroup>
</Project>
lovesan@ubuntu:~/hello$ dotnet publish -c Release -a x64 --self-contained -o output
MSBuild version 17.4.8+6918b863a for .NET
Determining projects to restore...
All projects are up-to-date for restore.
hello -> /home/lovesan/hello/bin/Release/net7.0/linux-x64/hello.dll
hello -> /home/lovesan/hello/output/
lovesan@ubuntu:~/hello$ ll output
total 12932
drwxr-xr-x 2 lovesan lovesan 4096 Oct 14 22:18 ./
drwxr-xr-x 5 lovesan lovesan 4096 Oct 14 22:18 ../
-rwxr-xr-x 1 lovesan lovesan 13221007 Oct 14 22:18 hello*
-rw-r--r-- 1 lovesan lovesan 10044 Oct 14 22:17 hello.pdb
lovesan@ubuntu:~/hello$ ./output/hello
Hello, World!
lovesan@ubuntu:~/hello$ ldd ./output/hello
linux-vdso.so.1 (0x00007fffdb5b9000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff856717000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff856712000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff8566f6000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff85660f000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff85660a000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff8565e4000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff856377000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff85614f000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff8571dd000)
Это дотнет, как понятно. Всё. 13 мегабайт файл, в котором есть тупо все, весь нужный дотнет рантайм итд, и который не отличим от бинарника на плюсах. Лиспы аналогично могут. И производительность там будет получше чем в Golang. Про легкость поддержки и качество кода вообще не говорю.