Yeni nesil bilgisayar programlarının boyutları neden fazla oluyor?

mechanic

poor user
Katılım
25 Şubat 2024
Mesajlar
1,189
Flashcard programlarında biri olan Anki yi indirip yükledim.
Daha flash kartlarımı yazmadığım halde diskte çok yer kaplıyor.
Neredeyse eski 3d oyunları gibi yer kaplıyor. :)
529 mb.
anki.jpg
 
Çünkü yeni nesil programcılar yeni nesil "framework" kullanıyorlar. Yeni nesil frameworkler ise eski nesil frameworkler kullanılarak inşa edilmiş.
İşte bu böyle böyle geriye doğru gidiyor. Bu yüzden bilgisayara ya da telefona basit bir uygulama indirdiğinde "dependency" problemi olmaması için, o uygulama gerekli-gereksiz elli çeşit kütüphane ile birlikte yükleniyor.
 
527mb içine kompe işletim sistemi sığar. 2-3 ekran ve basit bir fonksiyon için neden bu kadar yer tutuyor. muhtemelen hem frameworkler hem de bu frameworklerin sorunsuz çalışması için on değişik windows sürümüne göre kütüphaneler vs var içinde. ayrıca installer-uninstaller bunlar da kendine göre frameworkler kullanıyor ve ciddi yer tutuyor.

bazen bir software kurarken sisteminde .net yok c++ yok vs diyerek bunları ayrıca da kurdurabiliyor. modern sistemler katman katman hantallaşan ve birbirine bağımlı yapılar oluşturdu. yeni nesil yazılımcıların derdi de bunu azaltmak değil daha sorunsuz-daha kolay development yapabilmek. sistemler güçlendikçe ve internet hızlandıkça kimse boyutları umursamaz oldu. ama beni de 512gb disk içinde yüzlerce gb saçmalık barındırmak rahatsız ediyor.
 
donanımcılarla yazılımcılar geri planda gizili olarak ortak hareket ediyor olabilir, milleti alış verişe zorlamak ve kazıklamak için olabilir.
tabi bunu güzelce yutturmak için beraberinde süslü bir kaç özellik ve görsellikde ustaca kullanılan kelimelerle yazılımı üretenlerce sunuluyor olabilir.
örenek;
10-15 sene önce AutoCad şimdikinin 10 katı kadar küçük br alana kurulup daha hızlı ve güzelce ferah ferah kullanılabiliyordu.
şimdi kurulum boyutu 10 kat büyüdü, ama program çizim tasarım araçları ikonları bu kadar geliştirilmediki 2 kat bile geliştirilmedi.
ben bildim bileli %80 aynı çizim nesnesi-araçları-ikonları,
kütüphane ve wpf tarzı görsellik parlaklık 3D arayüz falan şişiriyordur belki yazılımı. kullanılan alan artışı özellik ilave eklenmesiyle kesinlikle doğru orantılı artmıyorartmadı.

15 sene önceki AutoCad 2D-3D ile, şimdikinde yapılan her türden tasarımı çizimi aynı sürede rahat yaparım.
hatta şimdikine eski görsel arayüzümü kurarımki eskisi gibi hızlıca zahmetsizce kullanabileyim diye.

birde eskiden lisans alır yıllarca kullanırdın, lisansa para verdi diye 2-3 sene sonra çıkan yenisinede upgrade etmenede müsade edilirdi.
önce ücretsiz upgradeyi iptal ettiler. şimdi hersene yeni versiyon ve yıllık lisans - kira ücreti istiyorlar. yakında 6 aylık 3 aylık lisansları bile olursa şaşmam.
sıkıntı belkide şurda mevcut yazılımcı grubundan ölenler az geriden ilave gelenler çok fazla bir yığılma var. bunlarada iş lazım bunlarda birşeyler yapacaklar.
birisi yapıyor ozaman diğerleride yapmalı diye bir koşturmaca.

eskiye rağbet olup geri dönüş seçenekleride sunulur böyle giderse, çok yüksekden uçuyorlar, ayakları yere basmak zorunda kalabilir bir süre sonra bunların.
belkide geri planda bununda hazırlıkları başlamış-başlatılmışdır.

Arkadaşlar birimiz bir şey çıkarıyoruz diğerimizde altda kalmayacaz diye ona yetişmeye çalışıyoruz. Böyle gitmez bu iş. Bir ayar verelim bu işlere azcık sakin gidelim birbirimizden habersizce yazılım falan çıkarmayalım. Uçmayalım.... Nasıl olsa hepimizinkini kullanacaklar. Niye birbirimizi yiyiyoruzki biz... hesabı.
 
Küçük program yapmak daha çok çaba gerektiriyor.

Hard disk alanının, ramin turşusunu mu kuracağız?
 
Küçük program yapmak daha çok çaba gerektiriyor.

Hard disk alanının, ramin turşusunu mu kuracağız?
Veri saklamak varken neden böyle gereksiz şeylere bellek harcayalım?
Linuxa onun için geçmiştim. İlk başlarda güzeldi az bellek harcıyordu.
Şimdi windowsdan daha kötü oldu.
Xp zamanında messenger idi galiba boyutu 900 mb filandı.
Öyle bir gelişmiş özelliğide yoktu.
Eskiden beyaz tahta uygulaması vardı. 50 kb idi boyutu.
Kameralı görüşme yapabiliyordun. tahta vardı ders konferans verebiliyordun. :)
 
Delphi 6 ile yazılan programlar halen küçük boyutlu.
Ancak rad studio delphisi ile yazınca işler değişiyor.
Zira Dot.Net altında çalışıyor yenisi.
 
.. rad studio delphisi ile yazınca işler değişiyor.
Zira Dot.Net altında çalışıyor yenisi.
Öyle bir şart yok. Rad ile Dot net ile ilgisi olmayan Delphi projesi yapılabilir.

Boyut fazla olması, Unicode vs.. desteğindendir.


Exeyi sonradan
Resource editör ile açarak "package info", "cursors" gibi kullanılmayan yığınları silerek boyut nispeten düşürülebilir.
 
Son düzenleme:
Öyle bir şart yok. Rad ile Dot net ile ilgisi olmayan Delphi projesi yapılabilir.

Boyut fazla olması, Unicode vs.. desteğindendir.


Exeyi sonradan
Resource editör ile açarak "package info", "cursors" gibi kullanılmayan yığınları silerek boyut nispeten düşürülebilir.
RadStudio baştan sona DotNet ilişkili çalışıyor.
Nispeten düşürülebilir dediğiniz şeyleri delphi 7 ile derlenmiş exe'de de düşürebilirsiniz.
Burada sıkıntı hiç kullanmayacağınız kütüphane ve dil altyapısınında exe ye dahil edilmesi olsa gerek.
Süper bir yazılımcı değilim.
Ama her iki yapıda da derlediğim program maalesef rad studioda çok abuk.
1721199573380.png

Kartların görüntüleri, iconlar ve özel fontlar da gömülü dahil olmak üzere delphi-7 ile derlenmiş boyut 8.85MB
 
Kendisi DotNet ilişkili çalışıyor olabilir. Native uygulama yapabilirsiniz.

Basit win32 uygulaması,
Consol app. dll yaparsınız dot netle ilgisi olmaz. Yaptım oldu


Delphi 7 ile basit proje yapalım. Buton, edit vs.

Bunu rad studio ile açıp derleyelim. Unit isimleri değişecek
Windows.classes ?

gibi olacak.

Exe boyutu büyük olur. Fakat dot netle alakası yine yoktur.
 
Son düzenleme:
O zaman daha büyük exe oluşturmasının altında yatan sebep ne?
 
Yazılan programlar dağıtılırken, yüklenen sitemde ihtiyaç duyacağı ne var ne yoksa birlikte paketleniyor, kurulum ve diskte kapladığı alanlarda saçma sapan bir büyüklüğe erişiyor. Örneğin programın pyhton ile bağlantısı varsa, sistemde kurulu olup olmadığına bakmadan genellikle kurulum klasörüne pyhton kuruyor. Çoğu uygulama bunu yapıyor, sistemde farklı klasörlerde birden fazla pyhton bulunuyor ve yer kaplıyor.

2006 yılında Delphi.NET şeklinde bir sürüm çıkardı sonradan arkası gelmedi. .Net ile Rad arasında geçmişte çıkan sürüm haricinde bir ilişki bulunmamaktadır. XE ile başlayan sürüm kodlarından itibaren klasik VCL uygulama geliştirme yanında FMX (Fire Monkey) multi platform (android, ios, macos, win32, win64, linux) geliştirme yapısıda eklendi.

Delphi ile geliştirilen standalone uygulamalar extra birşeye gerek kalmadan çalışabilirler, bunun nedeni ise çalışacağı sistemde ihtiyaç duyduğu / duyacağı sistem kütüphanelerini exe içine gömmesidir.

İşletim sistemlerinin gerek koştuğu şartlar veya extra sağladığı diğer imkanlarda zaman içerisinde değişmektedir, dolayısıyla eklenen kütüphanelerin boyutları artmaktadır. Oluşturulan exe içerisine minumum bu şartları karşılayan kütüphanelerinde eklenmesi gerekmektedir. Geriye doğru uyumluluk nedeniyle eskileri atmadan sürekli yeni şeyler eklemek, kütüphane boyutlarının artması demektir. Buda doğal olarak exe boyutlarını artırmaktadır.

Örneğin D7 ile yazılmış bir exe high-dpi bir ekranda açılığında font ve ikonlar çok küçük şekilde görünür yada metinler büyür, ikon ve buton gibi nesneler çok küçük kalır, modern rad ile oluşturulmuş exede ise bunlar otomatik olarak boyutlandırılır. Uygulamalarınızı 1080p veya daha düşük çözünürlükte kullanıyorsanız böyle bir ayrımın farkına varmamış olabilirsiniz. Eski programları 4K gibi yüksek çözünürlüklü ekranlarda, windows ölçeklendirme si %125 veya %200 gibi yüzde yüzden farklı bir ayarda kullandığınızda bu tip gariplikler ile karşılaşırsınız.

Geliştrime ortamından bağımsız form üzerinde bir image gösteriyorsanız, resmin boyutu kadar exe boyutu artacaktır.

Güncel Rad ile üzerinde hiçbirşey olmayan bir vcl uygulaması oluşturulduğunda exe boyutları şu şekilde.

DebugRelease
32 Bit Derleme11819 KB (Upx sıkıştırma ile 3016 KB)2367 KB (Upx sıkıştırma ile 789 KB)
64 Bit Derleme13823 KB (Upx sıkıştırma ile 3359 KB)3759 KB (Upx sıkıştırma ile 1020 KB)

Upx sıkıştırma exe boyutunu yaklaşık olarak üçte bir ile dörtte bir oranı kadar küçültmektedir.

Exe boyutları kabul edilebilir boyutta :). D7 ile yanlış hatırlamıyprsam boş form ile oluşturulan exeler 400..500 KB seviyelerindeydi.

22 yılda exe boyutu yaklaşık 5 katı kadar artmış demekki. Buda yazılım tarafında kodlardaki enflasyon :cool:


Hülasa işin özü;
Boyut artmasının bir nedeni, doğal olarak teknolojinin gelişmesi, geriye doğru uyumluluk nedeniyle sürekli üzerine koyarak kütüphane ve sistemlerin boyutunun artması.

Diğer bir neden ise yazılımcıların veya geliştirme ortamlarının "güvenli tarafta kalmak için" artık buna çok dikkat etmemesi / umursamaması. Haricen kullanılan binlerce dosyadan oluşan bir kütüphane paketinden bir veya iki dosya kullanıldı, geriye kalan 998 dosyayıda ne olur ne olmaz diye ekle düşüncesi :)
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
6,951
Mesajlar
118,748
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top