İçeriğe atla

Fabrice Bellard

Fabrice Bellard
Doğum1972 (51-52 yaşında)
Grenoble, Fransa
Tanınma nedeniBilgisayar Bilimi
FFmpeg
QEMU
Tiny C Compiler
Bellard formülü
ÖdüllerGoogle-O'Reilly Açık Kaynak Ödülü

Fabrice Bellard (Fransızca telaffuz: [faˈbʁis bɛˈlaʁ]) en çok FFmpeg ve QEMU yazılım projeleriyle bilinen bir bilgisayar programcısıdır. Bellard ayrıca aralarında Tiny C Compiler'ın da olduğu birçok başka program da yazmıştır.

Hayatı ve kariyeri

Bellard 1972'de Fransa'nın Grenoble kentinde dünyaya geldi ve Lycée Joffre'de (Montpellier) okula gitti. Burada 17 yaşındayken çalıştırılabilir dosya sıkıştırıcısı LZEXE'yi hazırladı.[1] École Polytechnique'de okuduktan sonra 1996'da Télécom Paris'te uzmanlaşmaya devam etti.

1997'de, Bellard formülü olarak bilinen ve Bailey-Borwein-Plouffe formülünün bir varyantı olan ikilik gösterimdeki pi'nin tek basamaklarını hesaplamak için yeni ve daha hızlı bir formül keşfetti.

Bellard, Uluslararası Karmaşıklaştırılmış C Kodu Yarışmasını iki kez kazandı.[2] 2000'de, yarışmayı, Hızlı Fourier Dönüşümü uygulayan ve daha sonra bilinen en büyük asal sayı 26972593−1'yi[3] hesaplamak için kullandığı modüler bir programla "En Özgül Çıkış"[4] kategorisinde ve i386 Linux'a yönelik C dilinin kurallara bağlı bir alt kümesi için küçük bir derleyiciyle (kaynak kodu yalnızca 3 kB boyutundadır) "En İyi Kötüye Kullanım" kategorisinde kazandı. Programın kendisi bu dil alt kümesinde yazılmıştır, yani kendi kendini barındırmaktadır.

2004'te, Linux çekirdeğini kaynaktan 15 saniyeden daha kısa sürede[5] derleyip önyükleyebilen TinyCC Önyükleme Yükleyicisi'ni yazdı. 2005 yılında, standart bir bilgisayar ve VGA kartından doğrudan bir VHF sinyali üreten analog veya DVB-T dijital TV vericisi olarak işlev görebilecek bir sistem tasarladı.[6] 2011'de saf JavaScript ile yazılmış minimal bir bilgisayar emülatörü oluşturdu. Emüle edilen donanım, 32 bit x86 uyumlu bir CPU, bir 8259 Programlanabilir Kesme Denetleyicisi, bir 8254 Programlanabilir Kesme Zamanlayıcısı ve bir 16450 UART'dan oluşur.[7]

31 Aralık 2009'da, pi hesaplamaları alanındaki dünya rekorunu kırdı ve 90 gün içinde yaklaşık 2.7 trilyon basamak hesapladı. Slashdot şunları yazdı: "İlerleme küçük gibi görünse de, olağanüstü bir başarı çünkü önceki rekorlarda olduğu gibi milyonlarca dolarlık bir süper bilgisayar yerine 3.000 dolardan daha az maliyetli bir masaüstü bilgisayarı kullanıldı."[8][9] Bu rekor, 2 Ağustos 2010'da Shigeru Kondo tarafından 96 GB RAM ile donatılmış, çift Intel Xeon işlemcili bir sunucu sınıfı makine kullanılmış olsa da, 5 trilyon basamak hesaplanarak geride bırakıldı.

2011'de Google-O'Reilly Açık Kaynak Ödülünü kazandı.[10]

2014'te JPEG için bir alternatif olarak BPG resim biçimini önerdi.[11]

Projeleri

  • RiSCVEMU: 128 bit RiSC-V emülatörü
  • SoftFP: 32/64/128 bit kayan nokta türlerini destekleyen IEEE 754-2008 kayan nokta emülasyon kütüphanesi
  • BPG (Better Portable Graphics): HEVC'ye dayanan ve çoğu tarayıcı tarafından küçük bir Javascript kod çözücüyle desteklenen yeni bir görüntü biçimi
  • 4G LTE/NB-IoT baz istasyonu: standart bir bilgisayar ve düşük maliyetli bir yazılımla radyo önyüzü
  • FFASN1: Küçük boyutlu ve verimli C kodu üreten bir derleyici
  • jslinux: Javascript'te bir bilgisayar emülatörü
  • pi2700e9 (TachusPI): 31 Aralık 2009'da, Pi'yi yaklaşık 2.7 trilyon ondalık basamaklı olarak tek bir masaüstü bilgisayarda hesaplayan program
  • Analog ve Dijital TV (DVB-T) Sinyal Üretici: Sadece Linux yüklü bir bilgisayar ve bir ekran kartıyla VHF bandında yayın üretimi
  • QEMU: genel amaçlı ve açık kaynak bir makine emülatatörü ve sanallaştırıcısı
  • FFmpeg: Açık Kaynak çokluortam Sistemi
  • TCC: C'yi betik dili olarak kullanmaya izin veren küçük ama eksiksiz bir iSOC99 C derleyicisi
  • QEmacs: UNIX için çok küçük ama güçlü bir emacs klonu metin düzenleyicisi
  • OTCC: C'nin bir alt kümesi için çok küçük ve kendi kendini derleyebilen bir derleyici
  • TinyGL: gömülü sistemler ve oyunlar için OpenGL'in alt kümesinin küçük, özgür ve hızlı bir uyarlaması
  • NumCalc.com: Çevrimiçi bilimsel hesap makinesi
  • Pi hakkında formüller, algoritmalar ve hesaplamalar
  • Bilinen en büyük asal sayıyı yazdırmak için küçük bir C programı
  • Harissa: Bir Java sanal makinesi ve güçlü bir Java yerleşik kod derleyicisi
  • fbcc: Basit ama neredeyse eksiksiz bir C Derleyicisi
  • STAT: PPM sıkıştırma yönteminin etkin bir uyarlaması
  • LZEXE: DOS çalıştırılabilir dosyaları için sıkıştırıcı
  • Linmodem: winmodem diye adlandırılan modemlerin tümü için açık kaynak bir sürücü projesi

Ayrıca bakınız

  • PiHex

Kaynakça

  1. ^ "LZEXE project page". 29 Aralık 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2017. 
  2. ^ "International Obfuscated C Code Contest years page". 22 Ekim 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2017. 
  3. ^ "Arşivlenmiş kopya". 20 Temmuz 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2017. 
  4. ^ "Arşivlenmiş kopya". 22 Ekim 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2017. 
  5. ^ "TCCBOOT Compiles And Boots Linux In 15 Seconds". Slashdot. 25 Ekim 2004. 27 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2017. 
  6. ^ "Digital TV Transmitter using a VGA card". Slashdot. 13 Haziran 2005. 3 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2017. 
  7. ^ "Javascript PC Emulator – Technical Notes". Fabrice Bellard. 14 Mayıs 2011. 27 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2017. 
  8. ^ New Pi Computation Record Using a Desktop PC 3 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi. January 5, 2010
  9. ^ Jason Palmer (6 Ocak 2010). "Pi calculated to 'record number' of digits". BBC News. 9 Mayıs 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2017. 
  10. ^ "OSCON 2011: O'Reilly Open Source Awards". 6 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2011. 
  11. ^ "BPG Image format". Fabrice Bellard. 2014. 20 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Haziran 2014. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Pascal (programlama dili)</span> yüksek seviyeli programlama dili

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

<span class="mw-page-title-main">GNU Compiler Collection</span>

GNU Compiler Collection, GNU Projesi tarafından üretilen ve çeşitli programlama dillerini destekleyen bir derleyici sistemidir. GCC, GNU araç zincirinin önemli bir parçasıdır. Henüz tamamlanmamış GNU işletim sisteminin resmî derleyicisi olmanın yanı sıra, diğer birçok modern Unix benzeri işletim sistemleri tarafından standart derleyici olarak benimsenmiştir. GCC, çok çeşitli işlemci mimarilerine taşınmış; ticari, perakende ve kapalı kaynak yazılım geliştirme ortamlarında yaygın bir araç olarak konuşlanmıştır. Windows'ta GCC kodlarını derlemek ve çalıştırmak için Cygwin, MinGW ve Tiny C Derleyici (TCC) gibi derleyiciler kullanılabilir.

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

<span class="mw-page-title-main">Pi sayısı</span> dairenin çevresinin çapına oranını ifade eden irrasyonel matematik sabiti

Pi sayısı , bir dairenin çevresinin çapına bölümü ile elde edilen irrasyonel matematik sabitidir. İsmini, Yunanca περίμετρον (çevre) sözcüğünün ilk harfi olan π harfinden alır. Pi sayısı, Arşimet sabiti ve Ludolph sayısı olarak da bilinir. Aynı zamanda ismini yunancada pie anlamına gelen πίτα' dan alır.

<span class="mw-page-title-main">Linus Torvalds</span>

Linus Benedict Torvalds Finlandiya asıllı Amerikalı bir bilgisayar bilimci ve yazılım mühendisidir. Linux işletim sistemi çekirdeğinin geliştiricisi ve proje yöneticisi olup, ABD'de yaşamaktadır. Transmeta'daki görevinden ayrıldığından beri OSDL'de tam zamanlı olarak Linux çekirdeği üzerinde çalışmaktadır. Helsinki Üniversitesi'nde bilgisayar bilimleri bölümünden mezun olmuştur.

<span class="mw-page-title-main">Digital Research</span>

Digital Research Dr. Gary Kildall tarafından CP/M işletim sistemi ve yan ürünlerinin geliştirilmesi ve pazarlanması için kuruldu. Mikrobilgisayar döneminin ilk büyük yazılım şirketiydi.

Yorumlanan programlama dili bilgisayar programlamada yazılan programların çalışabilmeleri için kaynak kodlarının bir yorumlayıcı tarafından yorumlanması gerektiğini ifade etmektedir. "Interpreted programming language" olarak da geçmektedir.

<span class="mw-page-title-main">Lazarus (yazılım)</span>

Lazarus açık kaynak kodlu Free Pascal derleyicisi tarafından geliştirilip, desteklenen çoklu platform görsel programlama tümleşik geliştirme ortamıdır. Pascal ve Object Pascal geliştiricileri için hızlı geliştirme ortamı, Delphi benzeri bir ortam sağlamayı amaçlar.

Çapraz Derleyici üzerinde çalıştığı platformdan farklı olan platformlar için çalıştırılabilen kodlar üreten derleyicidir. Böyle bir araç, erişiminizde olmayan bir platform için kod derlenmesi gerektiğinde ya da böyle bir platform üzerinde kod derleme işleminin yapılmasının imkânsız olduğu durumlarda faydalı olabilir.

<span class="mw-page-title-main">Programlama</span> bilgisayar probleminin orijinal formülasyonundan çalıştırılabilir bilgisayar programlarına yönlendiren süreç

Programlama ya da diğer adı ile yazılımlama, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanımla programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir.

<span class="mw-page-title-main">Java sanal makinesi</span>

Java Sanal Makinesi (JSM), Java platformunun nesne modülü formatı olan class uzantılı sınıf dosyalarının belleğe yüklenip çalıştırılması için gereken hizmetleri sunan bir sistem programıdır ve temel görevinin sınıf dosyalarını yorumlamak olduğu söylenebilir. Ancak, JSM'ni salt bir yorumlayıcı olarak görmek büyük haksızlık olur. Zira, yorumlama ile birlikte JSM'nin şu görevleri de vardır.

Java Geliştirme Kiti (JDK) Java geliştiricilerine yönelik bir Oracle Corporation ürünüdür. Java'nın kullanıma sunulmasından beri en geniş kullanım alanı bulan Java SDK'dır. 17 Ekim 2006'da, Sun GNU General Public License (GPL) altında sunulacağını duyurdu ki bu özgür yazılım olacağı anlamına geliyordu. Bunun gerçekleşmesi ise 8 Mayıs 2007'de oldu; Sun kaynak kodu OpenJDK'ya bağışladı.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

<span class="mw-page-title-main">Tiny C Derleyici</span>

Tiny C, Fabrice Bellard tarafından oluşturulmuş x86 ve ARM işlemciler için bir C derleyicidir. Küçük diskli ve yavaş bilgisayarlar için dizayn edilmiştir. 0.9.23 sürümünde Windows işletim sistemi desteği eklenmiştir. GNU Kısıtlı Genel Kamu Lisansı altında dağıtılmaktadır.

<span class="mw-page-title-main">Android yazılımı geliştirme</span>

Android yazılım geliştirmesi Android işletim sistemi için yeni uygulamaların oluşturulduğu süreçtir. Uygulamalar genellikle Android yazılım geliştirme kiti (SDK) kullanılarak Java programlama dilinde geliştirilir; ancak diğer geliştirme ortamları da mevcuttur. Google, Android uygulamaları Kotlin, Java ve C++ dilleri kullanılarak Android yazılım geliştirme kiti (SDK) kullanılarak yazılabilir" ve diğer dilleri kullanmak da mümkün olduğunu belirtiyor. Go, JavaScript, C, C++ veya Assembly gibi Java sanal makinesi (JVM) dışı tüm diller, muhtemelen kısıtlı API desteğiyle araçlar tarafından sağlanabilecek JVM dil kodunun yardımına ihtiyaç duyar.

<span class="mw-page-title-main">Psion netBook</span>

Psion netBook Psion tarafından geliştirilen küçük bir subnotebook tipli bilgisayar idi. 1999 yılında Psion Revo ile piyasaya sürüldü ve mobil girişim pazarına yönelikti.

JIT ; bilgisayar kodunu çalıştırmanın bir yoludur. Yürütülmeden önce bir program yürütülürken çalışma zamanında derleyici içerir. Genellikle bu, kaynak kodu ve daha sonradan makine diline bytecode kod çevirisini içerir ve bu kod doğrudan doğruya çalıştırılır. Bir JIT derleyicisi uygulayan bir sistem genellikle yürütülen kodu sürekli olarak analiz eder, daha sonra derleme veya tekrar derlemeden elde edilen hızlanmanın bu kodun derlenmesinin yükünden daha ağır olacağı kod bölümlerini tanımlar.

Psion Seri 7, 2000 yılında tanıtılan Psion'dan bir subnotebook'dır. Psion Seri 5'in halefidir. Boyutta oldukça orijinaldır - bir Palmtop PC veya avuç içi makineden daha büyük, ancak bir dizüstü bilgisayardan daha küçüktür. Tam renkli ekrana sahip olan ve sonuncu olan Psion serisinin ilki oldu. Touch-sensitive, VGA çözünürlüklü LCD ekran ve QWERTY klavyesi ile deriye bağlı bir kapaklı tasarımına sahiptir. Dahili olarak 132.71 MHz StrongARM SA-1100 işlemci, 16 MB RAM ve 16 MB dahili ROM sunuyor.

Objective-J, [ Cappuccino web] geliştirme çerçevesinin bir parçası olarak geliştirilmiş bir programlama dilidir. Sözdizimi Objective-C sözdizimi ile hemen hemen aynıdır ve JavaScript ile Objective-C'nin C programlama diliyle aynı ilişkiyi paylaşır: katı, ancak küçük bir üst küme olmak; geleneksel kalıtım ve Smalltalk / Objective-C tarzı dinamik gönderim ekleniyor. Prototip tabanlı bir dil olan Pure JavaScript zaten nesne yönelimi ve miras kavramına sahiptir, ancak Objective-J JavaScript'e sınıf tabanlı programlama kullanımını ekler.Objective-J ile yazılmış programların, bir web tarayıcısının JavaScript sanal makinesi tarafından çalıştırılmadan önce önceden işlenmesi gerekir. Bu adım, çalışma zamanında web tarayıcısında veya Objective-J programlarını saf JavaScript koduna çeviren bir derleyici tarafından gerçekleşebilir. Objective-J derleyicisi JavaScript dilinde yazılmıştır; Sonuç olarak, Objective-J programlarını dağıtmak için bir web tarayıcısı eklentisi gerekmez. Objective-J, Node.js üzerinde derlenebilir ve çalıştırılabilir.