Bilgisayar programcılığı lisans dersi verirken hangi dili kullanmalıyım?


22

Lisans düzeyindeki öğrencilere, Bilgisayar Programlamaya Giriş dersi veren bir ders verecek. Kafam biraz karıştı. Hesaplamalı Fizikte bilim adamları C / C ++ veya Python veya Fortran, CUDA vb. Kullanıyorlar. Ne kullanmalıyım? Hayatında istediğin zaman yeni bir programlama dili öğrenebileceğini biliyorum ama bu daha sonra tüm temel programlama kavramlarını ve OOP kavramlarını geliştirmem için daha akıllıca bir tercih.


9
@ k20: Umarım önerin yanak dilidir; Aksi takdirde, akademik etikte ciddi bir ihlal olur.
Christian Clason

6
@ k20: Bütün bunlar konu dışı, ancak öğretmenin içeriğine değil, öğretmenin geri dönüşlerine (herhangi bir şekilde) dayalı yazılım seçimi kesinlikle etik dışı. (Sadece bunu açıkça söylemek gerekirse, itiraz ettiğim "yağma" dır.) Genellikle yapılan, şirketlerin yazılımları önemli ölçüde düşük maliyetle (veya ücretsiz olarak) kullanmalarıdır.
Christian Clason

3
@ k20: Ayrıca, yazılım şirketinin motivasyonunun tamamen özgecil olmadığını unutmayın: Öğrencileriniz yazılımı ücretsiz olarak alabilirler, ancak yazılımı bir süre sonra kendi hayatlarında almaları gerekebilir (ya da yeni bir şeyler öğrenmeleri muhtemeldir). yazılım).
Wrzlprmft

3
@ k20 Matlab ve Mathematica, ciddi bilimsel hesaplamalar için pek kullanılmaz. Fikirleri denemek için daha çok keşif aracıdırlar. Kursun amacı temel algoritmaları öğretmekse, bunlar uygun olabilir (özellikle Matlab), ancak genel programlama ise, o zaman C ++ Python gibi daha genel bir programlama dili ile gitmek istersiniz.
Truman Ellis,

2
MATLAB'ın (diplomatik olmasaydım, kusurlu olduğunu söyleyebilirim :)), diğer dillerde kötü uygulamaları gerektiren bir tasarıma sahip. Diğer birçok şey her şeyden farklıdır, bu yüzden "dışarı çıkmak" zor olabilir. Mathematica, bence güzel bir tasarıma sahip, fakat başka bir dile benzemiyor (belki Lisp hariç, fakat bilimde kullanılmıyor), yani öğrendiğin şey başka bir dil öğrenmek için çoğunlukla işe yaramaz. OTOH, C <-> Python'a gitmek çok daha kolay.
Davidmh

Yanıtlar:


32

Öncelikle, lisans öğrencileriniz bizimkine benziyorsa ve bilgisayarlara önceden bir giriş yapmamışlarsa, onlara, uygun bir editör (örneğin, MS Word değil), komut satırı vb.

Bence cevap, dersinizin odağını nereye ayarladığınıza (ya da neyi öğretmeniz gerektiğine) bağlı. Örneğin: Bilgisayarın iç işleyişi ne kadar önemli? Sınıflara ve diğer gelişmiş OOP yapılarına ihtiyacınız var mı? Onlara nasıl verimli programlar üreteceklerini öğretmek ister misiniz yoksa çalışma programları ürettikleri için mutlu musunuz? Ayrıca, muhtemelen yetenekli eğitmenlere ihtiyaç duyacağınızı da unutmayın.

Ama şimdi dillerin avantaj ve dezavantajlarına dair bir şey biliyorum. Bunun temel olarak bir hesaplamalı fizikçi olarak yaşadıklarımdan geldiğine ve bunun bir kısmının belirli bir alana, çalışma grubuna, üniversiteye, vb.

piton

Neredeyse en baştan beri Numpy kullanmanızı öneririm ve aşağıda kullanılacağını varsayıyorum.

Avantajları:

  • Öğrenmesi kolaydır ve diğer kişilerin kodlarını okur (örneğin, örnek kodunuz, aynı zamanda öğrencilerin öğretmenler için kodları).
  • Giriş ve çıkış (kursunuzun odak noktası olmamalıdır olan) tam kapsamına alınabilir print, Numpy en savetxtve loadtxtve belki sys.argv. Anında tanıtılabilir ve fazla programlama zamanı yemez.
  • Numara gösterimi, bellek yönetimi, veri türleri gibi ayrıntılarla uğraşmanıza gerek yok ya da sadece çok az işlem yapmanız gerekiyor. Böylece programlamak hızlı ve gerçek algoritmalara odaklanabilirsiniz.
  • Derlenmiş bir dil değil. Bunun iki avantajı vardır: Öğrencilerin bir derleyici ile uğraşmasına gerek yoktur ve öğrenciler programı derlemek, yeniden başlatmak ve yeniden başlatmak zorunda kalmadan doğrudan konsolu test edebilirler. Buna bağlı olarak, hata ayıklama daha kolaydır.
  • Hemen hemen her şey için kullanımı kolay kütüphaneler var.
  • Shell scriptleri, Make, Gnuplot ve benzeri ilave script dilleri öğrenmenize gerek yok - bunların hepsi Python'dan yapılabilir.
  • Bir sürü iyi ders var (ücretsiz).

Dezavantajları:

  • Derlenmedi. Bu nedenle Python programları, bazı durumlarda hesaplama fiziği ile ilgili derlenmiş programlardan çok daha yavaş olabilir. Bununla birlikte, diğer durumlarda, kütüphaneler (özellikle Numpy) karşılaştırılabilir bir performans sağlayabilir. Python ile iyi performans elde etmek için bir başka yol, ilgili kod parçacıklarını C like gibi başka bir dilde yazmaktır. Açıkçası, bunun için bu dili öğrenmeniz gerekir, ancak bu daha sonra yapılabilir ve Python'u öğrenmek zamanınızı boşa harcamaz.
  • Sayı temsili, hafıza yönetimi, veri tipleri ve tuzakları gibi detayları öğretmek daha zordur, çünkü bunlar biraz şaşırmıştır.

C / C ++

Avantajları:

  • Derlenir ve bu nedenle verimli kod üretmek daha kolaydır.
  • Doğrudan numara temsili, bellek yönetimi, veri tipleri ile uğraşıyorsunuz ve bu nedenle bunları öğretmek daha sezgisel. Öğrencileriniz bilgisayarlarında gerçekte neler olduğuna daha yakından yaklaşacaklar.
  • Temelde her şey için kütüphaneler var ama bir kütüphaneyi anlamak ve kullanmak biraz iş gerektiriyor.
  • C / C ++ 'da ilgili miktarda mevcut kod vardır ve bu nedenle öğrencilerin bu kodla çalışmak isterlerse dili öğrenmeleri gerekir.
  • Eğer zaten C / C ++ 'ı biliyorsanız, Python'u (örneğin) çok hızlı bir şekilde öğrenebilirsiniz.

Dezavantajları:

  • Derlenir ve öğrencileriniz derleyici, önişlemci, başlıklar vb. İle ilgilenmek zorundadır. Bu aşamada ne kadar öğrencinin, yarıyıl sonunda bile başarısız olduğuna şaşıracaksınız.
  • Öğrenmesi de yavaştır ve çalışma kodu üretmek daha uzun sürer.
  • Girdi ve çıktı gibi marjinal şeylerle ilgilenmek, programlamada olduğu gibi öğretmede de biraz zaman alır. C ++ 'da girdi ve çıktı için fazladan bir sözdizimi vardır.
  • Derleyici ve işletim sistemi bağımlılıkları.
  • C / C ++ karmaşası ile ilgilenmelisin.
  • Özellikle C ++ 'da diğerlerinin kodlarını okumak, çok sayıda sözdizimi özelliği nedeniyle oldukça zor olabilir.

C ++ 'ın C (C sınıfı, şablonlar) üzerindeki başlıca avantajları kursunuz için uygun olmamalı ve yalnızca daha büyük projeler için geçerli hale gelmelidir. Bu nedenle, daha özlü olduğu için ikisinin C'sini seçerdim.

Diğerleri

Diğer dillerde bazı yorumlar:

  • Fortran: Bu hala birçok grup tarafından kullanılıyor ve çok sayıda eski kod var, ancak eski standartlarla ve bunların büyük sınırlamaları ve tuzaklarıyla başa çıkamayacaksınız (birçok kişi hala Fortran 77 ile çalışıyor). Ayrıca, dersler bulmak, internette yardım etmek vb. İçin çok daha zor olacak.
  • Matlab / Mathematica: Özel yazılımın tüm problemleri. Özellikle, öğrencilerinizin bu yazılıma ve bunun sonucunda ortaya çıkan sorunlara erişimi olmayan insanlarla işbirliği yapma ihtimalinin yüksek olduğunu düşünün.
  • Cuda: Bu, performansın önemli olması durumunda sadece belirli problemlerle ilgilidir. Ayrıca, bildiğim kadarıyla, bu şekilde programlamayı öğrenmek istemiyorsunuz.

¹ En azından grubumuzdaki standart iş akışı hangisidir?


Çok kesin cevap
Afnan Bashir

1
Ayrıca, Python'un bahsi geçen bonuslarından birinin, herkesi aynı bilgisayar sayfasına alma sürecini gerçekten pürüzsüzleştiren bir takım bilimsel dağılımlar olduğunu söyleyeceğim. Ayrıca, daha da soğuk, hepsi bir tarayıcı aka 0 yüklü yazılım aracılığıyla sağlayan web tabanlı yaklaşımlar (Wakari ve SAGE). C ++ ya da Fortran sınıflarına öğretmenlik yapmak, bir derleyici ile savaşırken kod hızında kazanılan zamandan daha fazla zaman kaybına neden olur.
meawoppl

Hesaplamalı fizik için pitonda inanılmaz bir ekosistem var. Numpy, temel altyapı sağlamak için scipy, görselleştirme için mayavi, tvtk. Python, bilimsel bilgi işlem topluluğu içinde oldukça olgun. C ++ 'ı üretimde kullanıyorum ama ne kadar acı olursa olsun kullanmak.
Sai Venkat

@meawoppl: “c ++ veya Fortran seviyesine öğretmenlik yapmak, bir derleyici ile kod hızında kazanılan zamandan daha fazla zaman kaybına neden olacak.” - Önemli olan kurs alıştırmaları için kod hızı değil (programlar her iki şekilde de çok hızlı olacak, Alıştırmalar özellikle yapılmayacak şekilde yapılmazsa), fakat gerçek yaşam veya benzeri için yazacakları programların kod hızı. Ve sadece Python'da verimli bir şekilde yapılamayan şeyler var.
Wrzlprmft

1
CUDA'nın herkesin sahip olmadığı donanım gerektirdiği için genel amaçlı bir kurs için söz konusu olmadığını söyleyebilirim. Ve onsuz sadece bir dizüstü bilgisayarınız varsa, bir tane kurmanız mümkün değil.
Davidmh

22

2014 yılında Python diyecektim. 2017 yılında gönülden mezun olduğum öğretmenlerin dilinin Julia olduğuna inanıyorum.

Öğretim her zaman bir takasla ilgilidir. Bir yandan, kavraması kolay olan yeterince basit bir şey seçmek istersiniz. Fakat ikincisi, gücü kalan bir şeyi, yani sizinle birlikte büyüyebilecek bir şeyi öğretmek istiyorsunuz. Yaygın dinamik diller (Python / MATLAB / R), var olmayan kazan plakası kodları ve tercüman açma ve tükürme kodlarından dolayı kolayca 1. kategoriye girerken, C / C ++ / Fortran ikinci kategoriye giriyor. Günümüz dünyasının temel performans gösterdiği yazılımın yazıldığı diller.

Ancak diğer kategoriyi tam olarak yakalamayan bir dili kullanmakla ilgili sorunlar var. Python gibi bir dil kullanıldığında, türler ve tamsayı taşması gibi şeyleri hoş bir şekilde uzaklaştırır. Bu, ilk sömestr hesaplamayı öğretmek için güzel, ama işlerin gerçekte nasıl yürüdüğünü daha derinden ve daha derine kazmak istediğinizde Python'un dili, iyi bir öğretim aracı olmak için altta yatan metalden çok uzaktır. Fakat C / C ++ / Fortran (ya da Java ... ilk önce Java öğrendim ...) hepsi o kadar büyük bir başlangıç ​​maliyetine sahipti ki, öğrenmesi en zor şey başlığın nasıl mainhazırlanacağını ve derleneceğini, bu da aslında öğrenmekten programın dikkatini dağıttı. .

Julia'ya gir. Julia'yı ilk kez kullandığınızda, türlerin tüm fikrini ortadan kaldırabilir ve onu MATLAB veya Python gibi kullanabilirsiniz. Fakat daha fazla bilgi edinmek istediğinizde, dilin derinliklerinde bir "tavşan deliği" vardır. Gerçekten bir türleme sistemi + LLVM üzerinden çoklu gönderim temelli bir soyutlama katmanı olduğundan, aslında "statik olarak derlenmiş kod yazmanın kolay bir yoludur" (ve tür kararlı işlevler aslında statik olarak derlenebilir). Bunun anlamı, C / C ++ 'ın detaylarına da erişilebilir olmasıdır. Kazan dairesi kodu olmadan basit döngüler ve fonksiyonlar yazmayı öğrenebilir ve ardından fonksiyon işaretçilerine bakabilirsiniz. Julia'nın metaprogramlama özellikleri, doğrudan AST'ye erişmenizi sağlar ve derleme zincirinin her bölümünü gösteren makrolar vardır. Ayrıca, bir Lisp olarak, işlevsel programlama stillerine uygundur. Ve birçok paralel hesaplama kabiliyetine sahiptir. Parametrik yazım ve tür dengesi gibi fikirler Julia'da oldukça benzersiz ve derin.

Programlama dillerini kendileri incelemek istiyorsanız, derlemenin nasıl çalıştığını, @code_loweredindirmenin ne olduğunu görmek için nasıl çalıştığını öğrenebilir, AST ile @code_typedyazılana, LLVM IR ile @code_llvmve son olarak da yerel montaj koduna bakın @code_native. Bu, dinamik değişkenlerin maliyetinin ne olduğunu ve tam olarak "değişken boks" un nasıl çalıştığını göstermek için kullanılabilir ve bu blog yazısı , derleme optimizasyonlarının nasıl yapılabileceğini / yapılamayacağını öğretmek için bu değerlendirme araçlarının nasıl kullanılabileceğini gösterir.

Keşfedilecek sadece bilgisayar bilimi ve yazılım mühendisliği fikirleri değil, aynı zamanda zengin matematiksel fikirler de var. Julia'nın ana kütüphaneleri genel yazarak akılda bulunduğundan, matris içermeyen operatörler oluşturmak ve bunları kullanarak GMRES gerçekleştirmek için IterativeSolvers.jl kullanmak çok önemlidir. @whichHerhangi bir şeyin nasıl uygulandığını size tam olarak göstermek için içe dönük araçlarını kullanabilirsiniz . Örneğin, nasıl \çalışır?

@which rand(10,10)\rand(10)
#\(A::AbstractArray{T,2} where T, B::Union{AbstractArray{T,1}, AbstractArray{T,2}} where T) in Base.LinAlg at linalg\generic.jl:805

Bu beni doğrudan tanımına işaret ediyor . Julia'da uygulanmaktadır, böylece Julia'yı bilen biri algoritmayı ve matris alt türlerini tanımlayarak ve mümkün olduğunda uzmanlaşarak (Gaussian eliminasyonuna geri dönerek) nasıl çalıştığını öğrenebilir. Julia'nın kodu MIT lisanslı olduğundan (ve neredeyse tüm paketler MIT lisanslı) olduğundan, öğrenciler bu fikirleri kendi kodlarında (özellikli) kullanmakta serbesttirler (kod GPL lisanslı olduğunda, çoğu MATLAB ve R paketlerinde olduğu gibi, lisans konularında dikkatli olmaları gerekir!).

Dil çekirdeği çok aktif bir açık kaynak topluluğuyla kurulduğundan , dil gelişiminin tarihi hakkında da zengin bir kaynak var: Github sorunları . Gibi dil soruları anlama gerçekten bir matris devrik ne? Bu matematiksel nesneleri daha ayrıntılı olarak anlamak için aydınlatıcı olabilir.

Ama son olarak, sonunda, öğrencilerinize nasıl yaratacağınızı öğretmek istersiniz. Ne yazık ki, Python veya R öğrenmek, mutlaka yaygın olarak kullanılan ve iyi optimize edilmiş paketlerin içinde önemli miktarda C / C ++ / Fortran kodu bulunduğundan, "Python / R" geliştirmek için gerekenlere sahip olduğunuz anlamına gelmez. performans almak için. Bu nedenle, bu öğrencilerin bu dillerin bilimsel ekosistemlerine katkıda bulunabilmeleri için, sonunda bir noktada başka bir dil öğrenmek zorunda kalacaklar. Bu tamamen berbat olmasa da, Julia'nın varlığı artık en düşük seviyede. Kararlı Julia, C / Fortran hızını yakalayabildiğinden, Julia ekosistemindeki paketlerin çoğu saf Julia kodudur. Julia'yı öğrenmek, Julia'yı geliştirmeyi öğrendiği anlamına gelir. Üstelik Base Julia aynı zamanda çoğunlukla Julia'nın bir kodu (sadece birkaç ilkel ve ayrıştırıcı değil).

Bununla birlikte, Julia'nın seçiminde bazı olumsuzluklar var. Birincisi, diğer dillerden çok daha yeni ve bu nedenle kaynaklar konusunda biraz daha az. Kendi başınıza çok sayıda öğretim aracı bulmanız veya Julia'nın web sitesinde listelenen kaynaklardan yararlanmanız gerekir . Ayrıca, dil ayrıntıları henüz kesinleşmedi, ancak 1,0 yakında çıkıyor (2017'nin sonunda). Ayrıca, Julia'da bir kursun potansiyel öğretmeni olarak, dil ile ilgili bu kadar fazla deneyim yaşamamış olmanız da olasıdır. Bununla birlikte, bunlar zaman içinde kaybolan sorun türleridir, oysa yukarıda bahsettiğim Julia yararları, dillerin kendileri için çok daha fazla önem taşır.


Biraz kullanılmış bir dil kullanmanın, sözdizimi bilgisinin kaybolmasının muhtemel olacağından ve öğrencilerin birkaç dil öğreneceklerinin garantisi olamayacağından dolayı mantıklı olup olmadığını merak edin. Belki bu açıdan, python hala iyi bir fikirdir.
Xavier Combelle

1
Bu yüzden daha önce Julia'yı söylememeliydim, ama şimdi onu kullanmanız oldukça yaygın.
Chris Rackauckas

Bence Julia hala çok yeni. Endüstride öğrencilerden Python, C ++, (ew) MATLAB ve R'yi bilmeleri beklenir. Bence öğrenmenin ikinci veya üçüncü bir dil olarak, zenginleştirici bir deneyim olarak daha iyi olduğunu düşünüyorum. Öğrencilerin yakın gelecekte tekrar Julia kullanmaları pek mümkün değildir.
Mateen Ulhaq,

2
Öğrenciler kopyalanabilir ve yapıştırılacak bir şablon değil, aktarılabilir becerileri öğrenmelidir. Bu anlamda, Python / MATLAB / R, bilgisayardan çok basit bir programlama aracı olmaktan uzak, ancak C ++ iyi bir öğretim aracı olmak için çok düşük seviyede. Tabii, bir sayısal analiz kursunda olduğu gibi bir diliniz olacaksa, kullanacağınız şeyi yapın çünkü kurs programlama ile ilgili değildir. Fakat eğer programlama kavramları hakkındaysa, Julia, tasarımında aslında kavramların çoğuna sahip olan tek basit dildir.
Chris Rackauckas

2

Çok uzak olmayan bir lisans öğrencisi olarak konuşuyorsanız ve CS bölümünde ders vermediğinizi varsayarsak, öğrencilere bilgisayar programlamasını C, C ++ veya Fortran (ya da tanrı yasaklayan gibi) bir şeyle tanıtmanın bir felaket olacağını düşünüyorum. CUDA), başkalarının bilimsel hesaplamada muhtemelen statüko olduğuna dikkat etmelerine rağmen.

Öğrencilere bilimsel bilgi işlemeyi öğretmeyi ve onları aynı kursa programlamayı tanıtmayı bekliyorsanız, matlab veya python gibi bir tercüme diline bağlı kalmazsanız, bir sömestrde kaplayacak kadar fazla olduğuna bahse girerim. Tecrübelerime göre, lisans seviyesindeki bilimsel hesaplama alanındaki çoğu sınıf, bu iki dersten birinde öğretiliyor ve python her gün bir üretim seviyesi dili olarak giderek daha kullanışlı hale geliyor, bu yüzden hala pratik bir beceri olarak bir faydası var ( sadece programlama temellerini öğretmenin ötesinde, yani).

Sadece iki sentim.


4
Afet, öğrencilere C, C ++ veya Fortran öğretimini tanımlamak için kullanılamayacak kadar güçlü bir kelime. Bu dillerden herhangi biri (C, C ++, Fortran veya Python), nasıl yaptığınıza bağlı olarak programlama ve bilimsel hesaplama öğretimi için uygun olabilir.
Bill Barth

1
CS departmanı (C ++) tarafından bir sınıf ve astronomlar için bir sınıf (Fortran 77) deneyimimden, C / C ++ / Fortran, tamamen yeni programcılar için (segfaults vs istisnalar) python ile karşılaştırıldığında yeterli yardım sağlamıyor. C / C ++ / Fortran kullanmak ya bir hata ayıklayıcının (ya da bir IDE'nin kullanımı) nasıl kullanılacağını öğrenirken, python kendi başına kullanılabilir.
James Tocknell

0

C, C ++, ve Fortran (belirli bir sırayla listelenmemiş), süper bilgisayarlardaki büyük sorunları çözmek istiyorsanız, hesaplamalı matematik / fizik için kullanılan üç ana programlama dilidir. CUDA'nın hızlandırılmış GPU hesaplama için diğer dillerle birlikte kullanılan bir kütüphane olduğunu düşünüyorum. Matlab ve python, çıktı tanılamayı çalıştırmak ve prototip modeller oluşturmak için öğrenmek için mükemmeldir. Ayrıca öğrenmeleri daha kolaydır ve nasıl programlanacağını öğrenen algoritmalara karşı gelmek istediğiniz bir kurs için daha iyi olabilirler.

Bu nedenle, eğer dersiniz tamamen programlama ile ilgiliyse, C ++ 'ı seçecektim, ya da öğrenciler ilk defa programlama ise, Python. Bu dillerin her ikisinin de bilimsel bilgi işlem dünyasının dışında yüksek yararı var. Elbette fizik temelli problemleri çözmek için öğrenme algoritmaları etrafında merkezliyse, Matlab'ın şüphesiz kazanan olduğunu düşünüyorum.


0

Kısa: Bilimsel hesaplamanın kendisinin karmaşık olduğunu dikkate alın. Programlama dilinin devreye girmesini gerçekten istiyor musunuz?

Matematik, sezgi ile çözülemeyen problemleri çözmek için soyutlamayı kullanır. Dolayısıyla kavramların soyut olma eğilimi vardır. Bu yüzden hangi kavramları kapsamayacağını anlamak önemsiz değildir. Bilimsel hesaplamada, "Hayvan" "Araç" gibi sınıflar için olağan örnekler oldukça kullanışsızdır. Bu, Nesne yönelimli programlama için doğrudur, ancak bir bilgisayarda soyut kavramları yeniden üretmenin Zorunlu programlamada da önemsiz olmadığını düşünüyorum.

Bu yüzden burada iki farklı çabayla uğraştığımıza inanıyorum: bir tarafta programlama, diğer tarafta bilimsel hesaplama. Öğrencilerin heterojen kökenden geldiği lisans düzeyinde, aynı anda iki farklı şey öğretebilirsin.

Amacınız bilimsel bilgisayar öğretimi ise, bunun yeterince zor olduğunu düşünüyorum. Programlama dili olarak ek bir engelin olması (hepimiz C ++ 'ın eğitim gerektirdiği konusunda hemfikiriz) iyi bir öğrenci grubunu hayal kırıklığına uğratır, bu yüzden python ile devam etmeyi öneriyorum.

Kursunuz "SC'ye Giriş" ise, python'un en iyi sonuç / efor oranına sahip olduğuna inanıyorum.

Not: Artık oldukça iyi bilgisayarlara sahibiz, lisans düzeyinde etkinlik aramaya ihtiyacımız yok.


PS ile ilgili: Neden performans sadece mezunlar için önemli değil? Performansın önemli olduğu mezunlar için görevleri kavramanın kolay olmasının yanı sıra, performans için öğrendikleri görevler değil, gerçek yaşamdır. Ayrıca, bilgisayarın hızı daha da artmış olabilir, ancak beklentilerimiz de aynı.
Wrzlprmft

Üzgünüm çok keskindi. "Öğrencilerin kod optimizasyonuna girmeden ve derlenmiş bir dile gitmeden önce, yorumlanmış bir dille tatmin edici büyük uygulamaları çalıştırabilmelerini" ifade etmeme izin verin.
Nicola Cavallini
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.