MQL5 dilini sıfırdan kendi kendine öğrenme - sayfa 17

 
Roman :

Kesinlikle fikrinizin tam tersi!
Programlamada tanımlama, mümkünse en alt düzeyde dil bilgisidir!
Yeni başlayanlar için açıklama, düşük seviye, ek kod sarmalayıcıları olmayan dilin sözdizimidir.
Sizin dediğiniz gibi ayrıştırmayla ilgili olan şey, akış şemalarının nasıl derlendiğini anlamaktır.
Bu nedenle, bir programcıya felsefi fanteziler tarafından değil, dilin pratik bilgisi ile değer verilir.
Dilin temelleri olmadan nasıl hayal kurabilirsin? Basit mantık nerede?
Benzer şekilde, konunun yazarı olan bir elektronik mühendisinin dilinde, önce panoya voltaj uygulayın ve ardından panonun neden yandığını merak edin))

Katılmıyorum. Bir hedef belirlerken, dil bilgisi gerekli değildir, yeteneklerini anlamanız gerekir. Ancak problem kurarken, çözerken, algoritma seçerken ve kodlarken tüm bu aşamalarda gereklidir. Dilin sözdizimini bilmeden bir problem belirlemek bazen uygulamada büyük bir problemdir)))

 
Roman :

... Eşdeğer olarak, konunun yazarı olan bir elektronik mühendisinin dilinde, önce panoya voltaj uygulayın ve ardından panonun neden yandığını merak edin))

Merhaba Roman! Harika bir karşılaştırma. Şimdi programlamada, transistörlerin çalışma prensibini bilmekten K155 serisinin dijital mikro devrelerinin çalışma prensibini bilmeye geçtiğimde, bir elektronik mühendisi ile hemen hemen aynı seviyedeyim.

1983'teki iş arkadaşlarımın çoğu, transistörlerin nasıl çalıştığını anlamadan EC serisi bilgisayarların bilgisayarlarını onarmayı başardı. Mantık cebirini bilmeleri onlar için yeterliydi. Bu küçük arasöz, Sovyet zamanlarının nostaljisidir!

Saygılarımla, Vladimir.

 
Valeriy Yastremskiy :

Katılmıyorum. Bir hedef belirlerken, dil bilgisi gerekli değildir, yeteneklerini anlamanız gerekir. Ancak problem kurarken, çözerken, algoritma seçerken ve kodlarken tüm bu aşamalarda gereklidir. Dilin sözdizimini bilmeden bir problem belirlemek bazen uygulamada büyük bir problemdir)))

Peki bu olasılıkları bilmiyorsanız olasılıkları nasıl anlıyorsunuz))
Bir görev belirlemek, bir değişkenin ne olduğunu, ne boyutta olabileceğini, kapsamını vb. zaten anladığınızda, dilin temellerine hakim olmanın son aşamasıdır.
Ayrıca her şeyi anlamak ve öğrenmek için nereden başlayacağımı, hangi dili öğreneceğimi bilemediğim bir yol ayrımındaydım. Sadece acıydı çünkü gerçeği bulmak için birkaç dil denedim.
Ama sonunda mql'nin C-benzeri bir dil olduğunu anladığımda, bilerek C'yi en temelden çalışmaya başladım.
Ve temel eğitimi bitirdiğimde, mql'yi pratik olarak bildiğimi görünce şaşırdım ve her şey benim için açık, sadece sözdizimi ve özellikleri dock'tan almak için, bu zaten mql'nin bir özelliği.
Programlamanın prosedürel yaklaşımını anladıktan sonra, bir yıl sonra OOP'yi araştırmaya başladım. Uzun bir süre, aynı diğer isimlerden dolayı benim için net değildi.
Örneğin, bir yöntem ve bir işlev, nasıl farklıdır )) bir değişken ve bir sınıf üyesi )) vb.
Ancak buna gelebilmek için prosedürel yaklaşımın temelini anlamanız gerekir ve yavaş yavaş OOP terminolojisini anlamaya başladığınızda, anlayış anında açılır.
Fark bu, ilk çalışmanın yolunu seçmek. Harfleri ve noktalama işaretlerini bilmeden nasıl Rusça yazabilirsin?
Kancalar ve sopalarla nereden başladığınızı hatırlayın.

 
Roman :

Kesinlikle fikrinizin tam tersi!
Programlamada belirleyici olan, mümkünse en alt düzeyde dil bilgisidir!

Ve böyle bir bilgi ne verecek? Burada dili çok düşük bir seviyede biliyorsunuz. For döngüsünün goto'ya nasıl dönüştürüldüğünü, hangi montajcı komutlarının değiştirdiğini bilirsiniz. Montajcıyı bilin. Bunun faydası nerede? Python programcılarına bakın. Bu konuda hiçbir şey bilmiyorlar. Ancak işlevleri kullanmada çok iyiler, nasıl Harita/Küçültüleceklerini biliyorlar. Onları nasıl besteleyeceklerini ve birbirlerini besleyeceklerini biliyorlar. Ve Python'a kıyasla çok fazla yazılmayan MQL şimdi nerede?

Roma :

Dilin temelleri olmadan nasıl hayal kurabilirsin? Basit mantık nerede?
Benzer şekilde, konunun yazarı olan bir elektronik mühendisinin dilinde, önce panoya voltaj uygulayın ve ardından panonun neden yandığını merak edin))

Anlayışınıza göre, basit mantık bir havlu prosedürüdür. Benim mantık anlayışımda, montajcıdaki gibidir: "Gördüğüm şey hakkında şarkı söylerim." Orada mantık yok, bu komut yazmak için aptalca bir yetenek. Daktilo, iki haftalık bir brifingden sonra bununla başa çıkabilir. Bu programlama değil.

Roma :

Sizin dediğiniz gibi ayrıştırmayla ilgili olan şey, akış şemalarının nasıl derlendiğini anlamaktır.

Akış şeması, prosedürel PL'ler için bir diyagramdır. "Burada for döngüsünü kullanıyoruz, burada if yapıyoruz". Artık prosedürel diller yazılmıyor . Bir kullanıcı uygulamasının örneğin C veya Pascal'ı seçmesi saçmalıktır. Oradaki işletim sistemi çekirdeği için veya ne tür bir prosedürel PL kartıdır. Ancak bu, sorunların kaybolan küçük bir yüzdesidir ve burada tartışılan sorunun konu alanına açıkça dahil edilmemiştir.
 
Vasiliy Sokolov :

Ve böyle bir bilgi ne verecek? Burada dili çok düşük bir seviyede biliyorsunuz. For döngüsünün goto'ya nasıl dönüştürüldüğünü, hangi derleyici komutlarının değiştirdiğini bilirsiniz. Montajcıyı bilin. Bunun faydası nerede? Python programcılarına bakın. Bu konuda hiçbir şey bilmiyorlar. Ancak işlevleri kullanmada çok iyiler, nasıl Harita/Küçültüleceklerini biliyorlar. Onları nasıl besteleyeceklerini ve birbirlerini besleyeceklerini biliyorlar. Ve Python'a kıyasla çok fazla yazılmayan MQL şimdi nerede?

Anlayışınıza göre, basit mantık bir havlu prosedürüdür. Benim mantık anlayışımda, montajcıdaki gibidir: "Gördüğüm şey hakkında şarkı söylerim." Orada mantık yok, bu komut yazmak için aptalca bir yetenek. Daktilo, iki haftalık bir brifingden sonra bununla başa çıkabilir. Bu programlama değil.

Akış şeması, prosedürel PL'ler için bir diyagramdır. "Burada for döngüsünü kullanıyoruz, burada if yapıyoruz". Artık prosedürel diller yazılmıyor . Bir kullanıcı uygulamasının örneğin C veya Pascal'ı seçmesi saçmalıktır. Oradaki işletim sistemi çekirdeği için veya ne tür bir prosedürel PL kartıdır. Ancak bu, sorunların kaybolan küçük bir yüzdesidir ve burada tartışılan sorunun konu alanına açıkça dahil edilmemiştir.
Vasily, peki, henüz sahip olmadığı temel şeyleri atlayarak TS'ye OOP paradigmasında programlamayı hemen öğretmeyi nasıl hayal ediyorsunuz?))) Hayır, belki bu mümkün, ama yapamam düşünmek ...

Bir nevi şöyle açıklıyoruz: "programlama algoritmaları (eylem prosedürleri) = yanlış yaklaşım. Yazılım ortamında birbirlerinin özelliklerini ve yöntemlerini devralan, kavramsal olarak bütünsel, hiyerarşik olarak yapılandırılmış, "nesneler" adı verilen şablonlu sistemleri programlamak gerekir."? ??

Ve hemen: "Ahhh, neden daha önce söylemediler! Her şey ortada.".)))
 
Vasiliy Sokolov :

Ve böyle bir bilgi ne verecek? Burada dili çok düşük bir seviyede biliyorsunuz. For döngüsünün goto'ya nasıl dönüştürüldüğünü, hangi derleyici komutlarının değiştirdiğini bilirsiniz. Montajcıyı tanıyın. Bunun faydası nerede? Python programcılarına bakın. Bu konuda hiçbir şey bilmiyorlar. Ancak işlevleri kullanmada çok iyiler, nasıl Harita/Küçültüleceklerini biliyorlar. Onları nasıl besteleyeceklerini ve birbirlerini besleyeceklerini biliyorlar. Ve Python'a kıyasla çok fazla yazılmayan MQL şimdi nerede?

Anlayışınıza göre, basit mantık bir havlu prosedürüdür. Benim mantık anlayışımda, montajcıdaki gibidir: "Gördüğüm şey hakkında şarkı söylerim." Orada mantık yok, bu komut yazmak için aptalca bir yetenek. Daktilo, iki haftalık bir brifingden sonra bununla başa çıkabilir. Bu programlama değil.

Akış şeması, prosedürel PL'ler için bir diyagramdır. "Burada for döngüsünü kullanıyoruz, burada if yapıyoruz". Artık prosedürel diller yazılmıyor . Bir kullanıcı uygulamasının örneğin C veya Pascal'ı seçmesi saçmalıktır. Oradaki işletim sistemi çekirdeği için veya ne tür bir prosedürel PL kartıdır. Ancak bu, sorunların kaybolan küçük bir yüzdesidir ve burada tartışılan sorunun konu alanına açıkça dahil edilmemiştir.

Aydınlanmanız için Python, C ile yazılmıştır.
Python da kod yazmayı kolaylaştırmak için tasarlandı. Ancak görünüşte sadeliği nedeniyle popüler bir dil haline gelen kodlayıcıların bilgisi Python düzeyinde kalmaktadır.
Ve sadece bilen programcılar   C dili, kütüphaneler ve ek çörekler buna yazılır. Bunlar kodlayıcı değil programcıdır.
Kod yazmak için basit bir daktilonun, günümüzün kodlayıcılarının konusunu anlamasıyla yapacağı tek nokta budur.
Sen sadece bir C# lakabın, bu yüzden böyle bir bakışın var ama bu C#'ın hangi dilde yazıldığını bile düşünmüyorsun))

 
Roman :

Peki bu olasılıkları bilmiyorsanız olasılıkları nasıl anlıyorsunuz))
Bir görev belirlemek, bir değişkenin ne olduğunu, ne boyutta olabileceğini, kapsamını vb. zaten anladığınızda, dilin temellerine hakim olmanın son aşamasıdır.
Ayrıca her şeyi anlamak ve öğrenmek için nereden başlayacağımı, hangi dili öğreneceğimi bilemediğim bir yol ayrımındaydım. Sadece acıydı çünkü gerçeği bulmak için birkaç dil denedim.
Ama sonunda mql'nin C-benzeri bir dil olduğunu anladığımda, bilerek C'yi en temelden çalışmaya başladım.
Ve temel eğitimi bitirdiğimde, mql'yi pratik olarak bildiğimi görünce şaşırdım ve her şey benim için açık, sadece sözdizimi ve özellikleri dock'tan almak için, bu zaten mql'nin bir özelliği.
Programlamanın prosedürel yaklaşımını anladıktan sonra, bir yıl sonra OOP'yi araştırmaya başladım. Uzun bir süre, aynı isimlerden dolayı benim için net değildi.
Örneğin, bir yöntem ve bir işlev, fark nedir)) bir değişken ve bir sınıf üyesi)) vb.
Ancak buna gelebilmek için prosedürel yaklaşımın temelini anlamanız gerekir ve yavaş yavaş OOP terminolojisini anlamaya başladığınızda, anlayış anında açılır.
Fark bu, ilk çalışmanın yolunu seçmek. Harfleri ve noktalama işaretlerini bilmeden nasıl Rusça yazabilirsin?
Kancalar ve sopalarla nereden başladığınızı hatırlayın.

Ne diyeceğimi bilmiyorum. Herkesin kendi yolu varmış gibi görünüyor. ısrar etmem. Ancak hedefler farklı dillerde çözülebilir ve bir hedef seçerken sözdizimini bilemezsiniz, yalnızca olasılıkları bilirsiniz. Python'da siteler için kütüphaneler olduğu ve bir sitenin python, php, joomla, aptalca html veya başka bir yerde yapılabileceği, fiyat ve hazır işlevselliğin (komut dosyaları) mevcudiyeti sorunu ve bu bir görevdir. ve daha derin bir dil bilgisi gerektirir. Serilerle çalışmak için MKL, python, R, matlab İncillerini seçebiliriz. Mashki için sipariş vermek için yerel MKL yeterlidir.

Her şey sadece uyum içinde olmalı. Bir arabanın nasıl çalıştığını bilmek, onu iyi kullanabileceğiniz anlamına gelmez. Ancak yolda arıza olması durumunda cihazın kötü olduğunu bilmemek.))))

Ek olarak, her biri kendine göre, genellikle iyi bir kodlayıcı en iyi algoritmacı değildir ve bunun tersi de geçerlidir. Bu nitelikler birlikte iyiyse, genellikle havalı ve pahalıdır, ancak çok sık değil.))))

 
Elbette, prosedürel yaklaşım, programcıyı tonlarca hazır çözümü depolayan devasa OOP kitaplıklarından izole eder. Ve bu "izolasyon" kesinlikle onun kodlama düzeyini etkiler. Ancak kütüphanelere ancak temele hakim olduktan sonra gidebilirsiniz. Yani, bir programı düz bir işlevsel talimat değil, bir nesne ortamı olarak yapılandırmak, yalnızca güçlü bir başlangıç teorisi ve pratiği temeli ile mümkündür. Tabii ki IMHO.
 
Vasiliy Sokolov :

Ve böyle bir bilgi ne verecek? Burada dili çok düşük bir seviyede biliyorsunuz. For döngüsünün goto'ya nasıl dönüştürüldüğünü, hangi derleyici komutlarının değiştirdiğini bilirsiniz. Montajcıyı bilin. Bunun faydası nerede? Python programcılarına bakın. Bu konuda hiçbir şey bilmiyorlar. Ancak işlevleri kullanmada çok iyiler, nasıl Harita/Küçültüleceklerini biliyorlar. Onları nasıl besteleyeceklerini ve birbirlerini besleyeceklerini biliyorlar. Ve Python'a kıyasla çok fazla yazılmayan MQL şimdi nerede?

Anlayışınıza göre, basit mantık bir havlu prosedürüdür. Benim mantık anlayışımda, montajcıdaki gibidir: "Gördüğüm şey hakkında şarkı söylerim." Orada mantık yok, bu komut yazmak için aptalca bir yetenek. Daktilo, iki haftalık bir brifingden sonra bununla başa çıkabilir. Bu programlama değil.

Akış şeması, prosedürel PL'ler için bir diyagramdır. "Burada for döngüsünü kullanıyoruz, burada if yapıyoruz". Artık prosedürel diller yazılmıyor . Bir kullanıcı uygulamasının örneğin C veya Pascal'ı seçmesi saçmalıktır. Oradaki işletim sistemi çekirdeği için veya ne tür bir prosedürel PL kartıdır. Ancak bu, sorunların kaybolan küçük bir yüzdesidir ve burada tartışılan sorunun konu alanına açıkça dahil edilmemiştir.

Çok, doğru çözüm seçimi. İdeal olarak, müşteri iyi bir kodlayıcı olmalıdır))) Kaç sinir kurtarılır)))

Bir dili düşük seviyede bilmek, yüksek seviyeli dilleri bilmek anlamına gelmez ve sadece programın nasıl çalıştığına dair daha derin bir anlayış sağlar. Ve gut döngüsünün nasıl olduğunu biliyorsa ve hafızayı yiyorsa, gerekirse optimize edebilir. Daha fazla yok.

Ve dürüst olmak gerekirse, anlaşmazlığın özünü anlamıyorum.

 
Valeriy Yastremskiy :

...

Ve dürüst olmak gerekirse, anlaşmazlığın özünü anlamıyorum.

Bence Vasily, OOP dışındaki her şeyin ikincil olduğu yeni başlayanlara OOP düşüncesini hemen öğretmeye çalışmak istiyor. Değişkenler, operatörler, diziler ile değil, hemen sınıflar, özellik devralma, nesne hiyerarşileri oluşturma ve güçlü kitaplıkları birbirine bağlama ile başlayın. "Kreşten" ve hemen üniversiteye transfer.)))