Figma’ya UI davranışı da eklenebilseydi, herhalde tam olarak böyle görünürdü. Web birkaç yıldır geriye gidiyor gibi geliyor; Flash’ı kaybedip HTML5’e geçtik ama yaratıcı insanların bir şeyler yaptığı o akış sönüp gitti.
Eskiden Visual Basic, Delphi, Borland JBuilder gibi IDE’lerde basit uygulama oluşturucular vardı; Eclipse’te de bir süre basit bir Swing UI oluşturucusu bulunuyordu. Web tarafında da Dreamweaver, FrontPage vb. vardı.
Bu araçların mükemmel olduğu anlamına gelmiyor; ama doğru düzgün bir alternatif de çıkmadı. Şimdiyse Figma’da “tasarlayıp” ardından geliştirme ekibinin neredeyse sıfırdan yeniden uygulaması şeklinde ilerliyor; bu da derinden israfçı görünüyor.
Gerçekte ne kadar israf olduğunu pek bilmiyorum. Örtüşen kısımlar var ama deneyimime göre çok fazla değil; frontend süresinin çoğu bileşenlerin arkasındaki davranışa, cihaz etkileşimlerine, güvenliğe ve API çağrılarına gidiyor.
Görsel UI oluşturucuların ileriye dönük yol olduğunu düşünmüyorum. Statik UI için iyi çalışıyorlar ama dinamik kısıtları ifade etmeye çalıştığınız anda dağılıyorlar.
Figma da bunu gösteriyor. Hızlı prototip için öğeleri mutlak konumlandırmak ve semboller kullanmak işe yarıyor; fakat autolayout’u işin içine kattığınız anda CSS flexbox ve grid’de yaşanan sorunların neredeyse aynısını yaşamaya başlıyorsunuz. Tek fark, bunu sürüm kontrolü, refactoring araçları ve ChatGPT’nin olmadığı çok daha kötü bir sistemde yaşıyor olmanız.
Öznel olarak da belirli bir bileşeni seçmek için 15 grup içine çift tıklamak ya da cmd-tıklamayla dalıp sonra metin biçimindeki özellikleri düzenlemektense, XML yapısıyla doğrudan uğraşmak çok daha kolay. Bu yüzden Apple ve Android’in interface builder’ları DSL tarafına ittiğini düşünüyorum.
VB6, hemen şimdi sonuç üretmesi gereken insanlar için açık ara en iyi IDE’ydi.
2000’lerin ortasında PC tabanlı CCTV sistemleri kurduğum dönemde, bir restoran müşterisine PC’yi gösterirken Pandora müzik servisini de gösterdim; restoran hoparlörlerinden dinleyip dinleyemeyeceklerini sordu. Arabamdaki 3,5 mm-RCA-BNC kabloyla amfiye bağladım; müşteri 21. yüzyıla girmiş gibi hissettiğini söyleyerek çok memnun oldu.
Ardından müziği kısa süreliğine durdurup müşterilere anons yapıp yapamayacaklarını sordu; ben de masaüstüne sndvol32.exe ses mikseri için bir kısayol oluşturdum. Personelin bunu ofisten değil tezgahtan yapmasını istediğini söyleyince, bir ataş ve 30 dakika istedim.
Arabadan örgülü Cat 5 kablo ve eski bej renkli IBM iki düğmeli bir fare getirdim; ofisten resepsiyon bankosuna kadar kablo çektim, Cat 5’in bir çiftini sol tıklama anahtarına lehimledim ve farenin gövdesine alçıpan vidası çakıp duvara, doldurulmuş geyik başı gibi astım. Ofis tarafında yanımda DB-25 taşımadığım için uçları ataşa lehimleyip PC’nin LPT portuna sağlam şekilde bağladım.
Sonrası kolaydı. “VB6 Volume Mixer” diye aratıp indirdim, stereo mix sessize alma kutusunu açıp tek satırlık kodu bir timer’a kopyaladım; 100 ms aralıklarla LPT pininin kısa devre olup olmadığını kontrol ettirdim. Kısa devre olunca stereo mix’i sessize alıyor, mikrofonun sessizini kaldırıyordu.
Önceden planlamadan sahada yapılmış bir işti ve o müşteri bugün hâlâ müşterim. Her işten anlayan pratik çalışan için gerçekten harika bir araçtı.
Birkaç yıl önce Reddit’te, restoran çalışanlarının duvara takılı bir fareye basarak anons yaptığını gördüğünü söyleyen bir yorum okumuştum sanırım. Hazır sipariş bildirimi gibi bir şeydi; çok sıra dışı bir düzendi, muhtemelen bu örnekti.
VB6’yı ben de severim ama bu bana %10 VB6, %90 MacGyver gibi görünüyor. Phoenix Foundation’ın kesinlikle ihtiyaç duyduğu biri.
“VB6 en iyi IDE” değildi, ikinciydi. En iyisi Delphi’ydi; bugün belki Lazarus olabilir.
Gerçekten çok iyi yapılmış; şimdi bir de Delphi gelirse geliştirme ortamlarının durumundan yeniden memnun olabileceğimi düşünüyorum.
Kaynak kodu: https://github.com/BAndysc/AvaloniaVisualBasic6
Lazarus’u öneren yorum silindiği için ekleyeyim: Lazarus’u biliyorum ve eski projelerde kullanıyorum. Ama tarayıcı içinde de çalışan modern bir sürüm istiyorum; bu örnekte olduğu gibi .NET bu kullanım için fena görünmüyor. Belki https://pascalabc.net/en/ tabanlı da olabilir.
Şaka yapmıyorum: Pascal/Lazarus ve Common Lisp ile programlama hâlâ günümüz araçlarından daha keyifli; kaygı yok, sadece keyif ve üretkenlik var.
İstemci tarafında ya da tarayıcı içinde .NET tabanlı teknolojileri kullanabiliyor olmanız, mutlaka kullanmanız gerektiği anlamına gelmez. Bu tür framework’lerde genellikle büyük tavizler vardır ve bir kez kullanmaya başladığınızda hızla bağımlı hâle gelirsiniz.
Örneğin MVC’den MVC’ye geçmek, webforms’tan blazor/avaloniaui/dotvvm’ye geçmekten çok daha kolaydır.
Turbo Pascal/C++’a daha çok ihtiyacımız var.
90’ların sonu ve 2000’lerin başında VB5/6 ile gerçekten çok üretkendim. Her tür küçük sorunu çözen bir sürü yardımcı uygulama yaptım; parçaları birleştirir gibi yapmak inanılmaz kolaydı. vb.net’e geçmeye çalıştım ama aynı hissi vermedi.
Buradaki VB6 Winforms builder, bugün çıkan en yeni Visual Studio 2022’nin Winforms builder’ıyla neredeyse %100 aynı.
Her gün saatlerce kullanıyorum; forma birkaç bileşen sürükleyip biraz mantık ekleyince birkaç dakika içinde küçük bir masaüstü uygulaması çalışıyor.
2021’den beri destek daha iyi olduğu için ne yazık ki C# ile kod yazıyorum ama kod okunabilirliği açısından dürüst olmak gerekirse VB.NET’in daha üstün olduğunu düşünüyorum.
O hissi biliyorum. Üniversitedeyken GPIB, UART, RS422 gibi ekipmanlar için test otomasyonu yazan VB6 sorumlusu bendim; elektrik mühendisliği bölümünde lisansüstü öğrencisi olarak epey para kazandım. Asistanlığı bırakınca ekipman sorumlusu olarak yerime geçtiler; yüksek lisans ücretimin çoğunu da bununla karşıladım.
O dönemin en iyi programlama araçlarından biri aklıma geliyor. BASIC’ten Visual Basic’e geçiş şok etkisi yaratmıştı. Günümüzde de böyle araçları özlüyorum; bugünün sözde no-code veya low-code araçları oldukça farklı bir şekilde çalışıyor. Hâlâ en iyi low-code yaklaşımının VB’nin yaptığı yöntem olduğunu düşünüyorum
Açıkçası reaktif programlama yaklaşımı söz konusuysa, IDE’ye de bununla ilgili bir kullanıcı deneyimi eklemek o kadar zor olmasa gerek.
Çoğu framework geliştiricisinin üretkenliği temel metrik olarak unuttuğunu düşünüyorum. Biraz haksız bir söz olabilir ama görsel araçların eksikliği hayal kırıklığı yaratıyor
Vay, VB6 çocukken yazılım geliştirmeye başlamamı sağlayan aracın ta kendisiydi. Bugün tam da ihtiyacım olan nostaljiydi
Aynı deneyim. Ama gençlik hevesiyle BASIC’in işe yaramaz bir dil olduğunu ilan edip MS Visual C++ 6’ya geçmem uzun sürmedi.
C++ ve MFC başka nedenlerle daha kötüydü ama sonra Linux’u keşfettim; gerisi malum.
Yine de VB6’nın RAD’ı kadar güçlü bir şey hâlâ bulamadım. Bugünlerde tam bir ilkel insan gibi UI’ı elle yerleştiriyor ya da XML kullanarak oluşturuyoruz
Ben de aynı. VB6’nın korsan bir kopyasıyla ve nasıl kullanılacağını oldukça iyi anlatan bir web sitesinden indirmeyle başladım.
Win32 API ile görüntüye DMA uygulayıp sprite’lar arasında piksel düzeyinde çarpışma algılama yapmak gibi şeyler yaptığımı hatırlıyorum. Güzel zamanlardı
Performanslı DLL’leri Visual C++ ile oluşturup bunları VB’de kullanırken VB mükemmel denge noktasıydı
Yazarın GitHub’ına bakınca klasik Win9x görünüm ve hissi için bir UI kütüphanesi de yönettiği görülüyor: https://github.com/BAndysc/Classic.Avalonia
Hoşuma gitti; bunu kullanarak kendim bir uygulama yapmak istiyorum
Bence o kütüphane tek başına bile VB6 yeniden üretimi kadar ayrıca paylaşılmayı hak ediyor. Detaylar harika; Avalonia’yı yeniden kurcalamak istetiyor
O günleri özlüyorum. Her IDE’de satır satır debugger vardı.
Bugünkü Angular/React uygulamalarında yıllar geçse de böyle bir şey yok ve söz dizimi hâlâ kafa karıştırıyor
Bunu böyle düşünmemiştim ama doğru. React’in iyi tarayıcı eklentisi araçları var, ancak bunu IDE’ye geri taşımak hâlâ eziyetli
Yazdığın şeyle gerçekten çalışan şey birbirinden o kadar farklı ki tek sayfalı uygulamaları ayrı bir dil gibi görmek daha iyi. Firefox’ta iyi bir JavaScript debugger’ı var ve derleme araçlarının çıktısı sourcemap üretirse iyi çalışıyor
Güzel. Küçük bir hata raporu var.
Bir düğme ekleyip çift tıklayarak kod penceresini açtım; MsgBox "Hello" gibi basit bir kod yazdıktan sonra kod penceresinin sağ üstündeki x’e bastım.
Kod kaydedilmedi. Kodu güncellemek için projeyi “Save” etmeniz veya “Run” etmeniz gerekiyor. Eski VB IDE yazdığınız her şeyi hatırlardı; bu nokta farklı
Düğme kontrolünde çalışıyor ama etiket kontrolü ne yaparsam yapayım Click olayını tetiklemiyor gibi görünüyor
90’larda birçok küçük şirketin VB ve Access ile döndüğünü hatırlıyorum. Programcı olmayanlara gerçekten büyük güç vermişti.
Web’de de benzer bir şey olsa keşke. Bazı low-code çözümleri dışarıdan benzer görünüyor ama VB’nin farklı yanı, yolun ortasında başka bir şeye geçmeden tam teşekküllü bir uygulamaya dönüşebilmesiydi. Günümüzde bir web CRUD uygulaması geliştirip dağıtmanın karmaşıklığına hep şaşırıyorum
Web, uygulama platformu olarak gerçekten berbat. Popüler olmasının iki nedeni var.
Birincisi, kurulum gerektirmiyor ve işletim sistemi paketlemeyle uğraşmak zorunda kalmıyorsunuz. Çünkü tüm işletim sistemlerinin paketleme süreçleri korkunç.
İkincisi, SaaS DRM’dir. Yazılımı bulutta barındırırsanız korsan kopyalanamaz ve aylık abonelik ücreti almak kolaylaşır.
Üçüncü bir şey sayılacaksa, işbirliği özelliklerini geliştirmeyi kolaylaştırmasıdır; ama bu yalnızca bazı yazılımlar için geçerli
PowerApps var. Office365’in içinde yerleşik geliyor
1 yorum
Hacker News yorumları
Figma’ya UI davranışı da eklenebilseydi, herhalde tam olarak böyle görünürdü. Web birkaç yıldır geriye gidiyor gibi geliyor; Flash’ı kaybedip HTML5’e geçtik ama yaratıcı insanların bir şeyler yaptığı o akış sönüp gitti.
Eskiden Visual Basic, Delphi, Borland JBuilder gibi IDE’lerde basit uygulama oluşturucular vardı; Eclipse’te de bir süre basit bir Swing UI oluşturucusu bulunuyordu. Web tarafında da Dreamweaver, FrontPage vb. vardı.
Bu araçların mükemmel olduğu anlamına gelmiyor; ama doğru düzgün bir alternatif de çıkmadı. Şimdiyse Figma’da “tasarlayıp” ardından geliştirme ekibinin neredeyse sıfırdan yeniden uygulaması şeklinde ilerliyor; bu da derinden israfçı görünüyor.
Figma da bunu gösteriyor. Hızlı prototip için öğeleri mutlak konumlandırmak ve semboller kullanmak işe yarıyor; fakat autolayout’u işin içine kattığınız anda CSS flexbox ve grid’de yaşanan sorunların neredeyse aynısını yaşamaya başlıyorsunuz. Tek fark, bunu sürüm kontrolü, refactoring araçları ve ChatGPT’nin olmadığı çok daha kötü bir sistemde yaşıyor olmanız.
Öznel olarak da belirli bir bileşeni seçmek için 15 grup içine çift tıklamak ya da cmd-tıklamayla dalıp sonra metin biçimindeki özellikleri düzenlemektense, XML yapısıyla doğrudan uğraşmak çok daha kolay. Bu yüzden Apple ve Android’in interface builder’ları DSL tarafına ittiğini düşünüyorum.
VB6, hemen şimdi sonuç üretmesi gereken insanlar için açık ara en iyi IDE’ydi.
2000’lerin ortasında PC tabanlı CCTV sistemleri kurduğum dönemde, bir restoran müşterisine PC’yi gösterirken Pandora müzik servisini de gösterdim; restoran hoparlörlerinden dinleyip dinleyemeyeceklerini sordu. Arabamdaki 3,5 mm-RCA-BNC kabloyla amfiye bağladım; müşteri 21. yüzyıla girmiş gibi hissettiğini söyleyerek çok memnun oldu.
Ardından müziği kısa süreliğine durdurup müşterilere anons yapıp yapamayacaklarını sordu; ben de masaüstüne sndvol32.exe ses mikseri için bir kısayol oluşturdum. Personelin bunu ofisten değil tezgahtan yapmasını istediğini söyleyince, bir ataş ve 30 dakika istedim.
Arabadan örgülü Cat 5 kablo ve eski bej renkli IBM iki düğmeli bir fare getirdim; ofisten resepsiyon bankosuna kadar kablo çektim, Cat 5’in bir çiftini sol tıklama anahtarına lehimledim ve farenin gövdesine alçıpan vidası çakıp duvara, doldurulmuş geyik başı gibi astım. Ofis tarafında yanımda DB-25 taşımadığım için uçları ataşa lehimleyip PC’nin LPT portuna sağlam şekilde bağladım.
Sonrası kolaydı. “VB6 Volume Mixer” diye aratıp indirdim, stereo mix sessize alma kutusunu açıp tek satırlık kodu bir timer’a kopyaladım; 100 ms aralıklarla LPT pininin kısa devre olup olmadığını kontrol ettirdim. Kısa devre olunca stereo mix’i sessize alıyor, mikrofonun sessizini kaldırıyordu.
Önceden planlamadan sahada yapılmış bir işti ve o müşteri bugün hâlâ müşterim. Her işten anlayan pratik çalışan için gerçekten harika bir araçtı.
Gerçekten çok iyi yapılmış; şimdi bir de Delphi gelirse geliştirme ortamlarının durumundan yeniden memnun olabileceğimi düşünüyorum.
Kaynak kodu: https://github.com/BAndysc/AvaloniaVisualBasic6
Lazarus’u öneren yorum silindiği için ekleyeyim: Lazarus’u biliyorum ve eski projelerde kullanıyorum. Ama tarayıcı içinde de çalışan modern bir sürüm istiyorum; bu örnekte olduğu gibi .NET bu kullanım için fena görünmüyor. Belki https://pascalabc.net/en/ tabanlı da olabilir.
Şaka yapmıyorum: Pascal/Lazarus ve Common Lisp ile programlama hâlâ günümüz araçlarından daha keyifli; kaygı yok, sadece keyif ve üretkenlik var.
Örneğin MVC’den MVC’ye geçmek, webforms’tan blazor/avaloniaui/dotvvm’ye geçmekten çok daha kolaydır.
90’ların sonu ve 2000’lerin başında VB5/6 ile gerçekten çok üretkendim. Her tür küçük sorunu çözen bir sürü yardımcı uygulama yaptım; parçaları birleştirir gibi yapmak inanılmaz kolaydı. vb.net’e geçmeye çalıştım ama aynı hissi vermedi.
Her gün saatlerce kullanıyorum; forma birkaç bileşen sürükleyip biraz mantık ekleyince birkaç dakika içinde küçük bir masaüstü uygulaması çalışıyor.
2021’den beri destek daha iyi olduğu için ne yazık ki C# ile kod yazıyorum ama kod okunabilirliği açısından dürüst olmak gerekirse VB.NET’in daha üstün olduğunu düşünüyorum.
O dönemin en iyi programlama araçlarından biri aklıma geliyor. BASIC’ten Visual Basic’e geçiş şok etkisi yaratmıştı. Günümüzde de böyle araçları özlüyorum; bugünün sözde no-code veya low-code araçları oldukça farklı bir şekilde çalışıyor. Hâlâ en iyi low-code yaklaşımının VB’nin yaptığı yöntem olduğunu düşünüyorum
Çoğu framework geliştiricisinin üretkenliği temel metrik olarak unuttuğunu düşünüyorum. Biraz haksız bir söz olabilir ama görsel araçların eksikliği hayal kırıklığı yaratıyor
Vay, VB6 çocukken yazılım geliştirmeye başlamamı sağlayan aracın ta kendisiydi. Bugün tam da ihtiyacım olan nostaljiydi
C++ ve MFC başka nedenlerle daha kötüydü ama sonra Linux’u keşfettim; gerisi malum.
Yine de VB6’nın RAD’ı kadar güçlü bir şey hâlâ bulamadım. Bugünlerde tam bir ilkel insan gibi UI’ı elle yerleştiriyor ya da XML kullanarak oluşturuyoruz
Win32 API ile görüntüye DMA uygulayıp sprite’lar arasında piksel düzeyinde çarpışma algılama yapmak gibi şeyler yaptığımı hatırlıyorum. Güzel zamanlardı
Yazarın GitHub’ına bakınca klasik Win9x görünüm ve hissi için bir UI kütüphanesi de yönettiği görülüyor: https://github.com/BAndysc/Classic.Avalonia
Hoşuma gitti; bunu kullanarak kendim bir uygulama yapmak istiyorum
O günleri özlüyorum. Her IDE’de satır satır debugger vardı.
Bugünkü Angular/React uygulamalarında yıllar geçse de böyle bir şey yok ve söz dizimi hâlâ kafa karıştırıyor
Güzel. Küçük bir hata raporu var.
Bir düğme ekleyip çift tıklayarak kod penceresini açtım;
MsgBox "Hello"gibi basit bir kod yazdıktan sonra kod penceresinin sağ üstündeki x’e bastım.Kod kaydedilmedi. Kodu güncellemek için projeyi “Save” etmeniz veya “Run” etmeniz gerekiyor. Eski VB IDE yazdığınız her şeyi hatırlardı; bu nokta farklı
90’larda birçok küçük şirketin VB ve Access ile döndüğünü hatırlıyorum. Programcı olmayanlara gerçekten büyük güç vermişti.
Web’de de benzer bir şey olsa keşke. Bazı low-code çözümleri dışarıdan benzer görünüyor ama VB’nin farklı yanı, yolun ortasında başka bir şeye geçmeden tam teşekküllü bir uygulamaya dönüşebilmesiydi. Günümüzde bir web CRUD uygulaması geliştirip dağıtmanın karmaşıklığına hep şaşırıyorum
Birincisi, kurulum gerektirmiyor ve işletim sistemi paketlemeyle uğraşmak zorunda kalmıyorsunuz. Çünkü tüm işletim sistemlerinin paketleme süreçleri korkunç.
İkincisi, SaaS DRM’dir. Yazılımı bulutta barındırırsanız korsan kopyalanamaz ve aylık abonelik ücreti almak kolaylaşır.
Üçüncü bir şey sayılacaksa, işbirliği özelliklerini geliştirmeyi kolaylaştırmasıdır; ama bu yalnızca bazı yazılımlar için geçerli