Fark nedir, gerçekten mi?
Bir programlama dili ile bu diğer diller arasındaki gerçek ve önemli fark şudur:
HTML ve CSS sunumu açıklarken , programlama dilleri işlevi tanımlamaktadır
Bu farkın neden önemli olduğunu göstermek niyetindeyim, ancak bu konudaki gösterişsizlikler bazen yanlış.
Gerçek bir hikaye :
Bir keresinde "uygun" bir programlama dili kullanarak karmaşık bir performans yönetim sistemi geliştirmek için birkaç ay geçirdim. Çeşitli diğer sistemlerden veri toplama sürecini otomatikleştirdi, bu veriler üzerinde çeşitli manipülasyonlar yaptı ve sonuçları basit bir tabloda sundu.
Canlı olduktan sonra kıdemli bir yönetici benzer bir iş için yazılmış bir araç gördü ve alternatiflerini kullanarak yazdıklarımın yerine geçip geçemeyeceğimizi sordu. Ayrıca, bu yeni uygulamanın birkaç gün içinde yazıldığı çözümümü geliştirmek için haftalar harcadığım için çok üzüldü.
Daha ileri araştırmalar, yöneticinin tercih ettiği seçeneğin hiçbir madde içermeyen tüm sunum olduğunu ortaya koydu: çok fazla renk ve simge ve grafik vardı, ama bunların arkasında kesinlikle hiçbir mantık yoktu. Tüm verilerin elle toplanması ve manipüle edilmesi gerekiyordu. Güzel arayüze rağmen, uygulama aslında işe yaramazdı.
Söz konusu yöneticinin, yaklaşımımın gerçek iş ihtiyaçlarını karşılayan biri olduğuna ikna olduğunu söylemekten memnuniyet duyuyorum.
Sunumun önemi :
Genellikle HTML, CSS vb. Becerilerin bir şekilde "gerçek" programlama dillerindeki becerilerden daha düşük olduğu şeklinde bir ima vardır. Bu ciddi bir hata.
Hikayeme göre, üst düzey yönetici tasarımın kendisi için çok önemli olduğunu hissetti , başlangıçta kendi lehine olan işlevi gözden kaçırmaya hazırdı. Şimdi, eğer bu izole edilmiş bir olay olsaydı, yöneticinin sadece saçma olduğunu söyleyebilirim. Ama değildi. Tekrar tekrar, gösterişli grafiklerden ve etkileyici widget'lardan etkilenen, ancak ham işlevsellikten ve teknik başarılarımdan etkilenmeyen kullanıcılarla tanıştım. Burada öğrenilecek birkaç ders olduğunu düşünüyorum:
- İnsanlar yazılımı anladıkları kriterler üzerine değerlendirir. Genellikle iyi görünümlü ve çirkin arasındaki farkı anlarlar, ancak teknik nüansları nadiren takdir ederler.
- İnsanlar görünüşe göre kandırılıyor. Bu iyi bir şey olmayabilir, ama birlikte yaşamamız gereken bir gerçektir.
- Görünüş, insanların yazılım hakkındaki düşüncelerini etkiler. İnsanların yazılım hakkında nasıl hissettiği önemlidir. Aslında, insanlar bazen kendilerini işlevsel olarak üstün olan yazılımlara karşı kendilerini iyi hissettiren bir yazılımı tercih ediyorlar . Gerçekten de, kendilerini iyi hissettiren aletler ile teknik olarak üstün aletlerden daha verimli olabilirler. Bu ölçüde, kullanıcılarımız kandırılmaz. Aslında akıllı ve düşünceli bir seçim yapıyorlar.
- Programcılar olarak, fonksiyona odaklandıkça sunumun rolünü sık sık ihmal ediyoruz. Bir dereceye kadar bu doğru ve uygun. Ancak, çalışmalarımızda müşterilerimiz için önemli olan başka bir boyut olduğunu kabul etmek önemlidir.
Bu yüzden sunum odaklı diller (HTML, CSS) önemlidir. Bu araçları etkili bir şekilde kullanabilenlerin katma değeri göz ardı edilmemelidir.
Gerçek programlama dillerinin önemi
OP'nin belirttiği gibi, "gerçek" programlama dilleri Turing Complete (Tamamlandı). Uygun bir üzücü inek olarak, bunu inanılmaz derecede etkileyici buluyorum. Bu, bir TC dilinde yazılmış herhangi bir program için , işlevsel olarak eşdeğer bir programın herhangi bir başka TC dilinde yazılabileceği anlamına gelir . Tabii ki, bu tüm dillerin aynı olduğunu söylemek değildir. Her birinin belirli görevler için daha az ya da çok uygun olmasını sağlayan güçlü ve zayıf yönleri vardır. Ancak, G / Ç bir yana, bu tüm programların tüm gerçek programlama dillerinde yazılabileceği anlamına gelir.
(Bu arada, önemli olan TC.
Tabii ki, aynı HTML veya CSS gibi bir biçimlendirme dili için doğru değil. Aslında, bu dillerin çözemediği tüm problem sınıfları vardır . Ben programlayabilir Nerede şey istediğim düzen motorları dahil - - gerçek bir programlama dilinde sadece TC olmayan dillerle aynı şeyleri elde etmek mümkün değildir.
Hikayemde vurguladığım gibi, HTML ve ilk tanıtımı sunum yapmak için kullanılır. İşlevsellik üretmek için gerçek programlama dilleri kullanılır.
Programcılar neden bu konuda bilgi verici?
- Programcılar becerilerini geliştirmek için çok fazla zaman, çaba ve para harcarlar. İnsanlar doğal olarak yatırım yaptıklarına değer verir (“kalbiniz, paranızın olduğu yerdir”).
- Programcılar, UI tasarımcılarının elde ettiği hızlı sonuçlarla karşılaştırıldığında, sonuç üretmek için geçen süreyi haklı gösterme gereksinimi duyarlar. Bunu yapabilmek için iki grubun gerçekte yaptıkları arasında bir ayrım yapmaları gerekir .
- Çünkü işverenlerin doğru insanları doğru işlere uygulaması gerekiyor. (Genellikle teknik) farkları açıklığa kavuşturmazsak, yöneticiler kolayca yanlış çağrıları yapar.
- Çünkü yukarıda belirtildiği gibi gerçek ve temel bir fark var.
Pedantik olmak her zaman uygun mu?
Kabul edelim ki, programcılar olarak biz doğal olarak sersemletici bir şeyiz . Bu bölge ile gider. Programcı olmayanlar ne yaptığımızı anlamadıklarında çoğumuzun yanmasına yardımcı olmaz.
Bununla birlikte (ve dürüst olmak gerekirse, bu benim doğal içgüdülerime aykırıdır), her küçük ayrımdan kaymaları halinde insanları çağırmamız gerektiğini düşünmüyorum .
Buradaki önemli şeyler bağlam
ve perspektiftir .
Biyolog açısından bakıldığında domatesin meyve olduğu söylenir. Ama onları süpermarkette satın aldığımda onları sebzeler arasında aradım. Neden? Çünkü teknik ayrım bu bağlamda önemli değil . Üstelik, bu ayrım aslında onların yararları ile sonuçlanacaktı: örneğin bir meyve salatası içine domates ekleyecek kadar kafam olsaydı, örneğin.
Bilgisayar dilleri ile aynıdır. Programlama dilleri ile diğer diller arasındaki farkın gerçekten önemli olduğu zamanlar vardır . Bununla birlikte, çoğu zaman, hepsini bir araya getirdiklerinde, mükemmel bir şekilde iletişim kurabiliriz. OP ile bağlantılı soruya durumunda, gerçekten önemli değildi gerçek programlama dilleri Biz onları hangi hangi dillerde. Ayrımı işaret etmek, tartışmayı hiçbir şekilde ilerletmedi. Neyse ki, küçük bir gürültü eklemek (ve ilginç bir tartışma için teşvik edici olmak!) Dışında, OP ile bağlantılı olan serserinin bir sonucu yoktu. Ancak en kötüsü, bilgiçlik olumsuz duyguları köreltebilir ve en azından karıma göre ilişkilere zarar verebilir.
:-)
Programcılar arasında bilgeliğe karşı nasıl başa çıkılır
Bir vaiz arkadaşım bir keresinde başlıklı bir vaaz getirmişti:
Bu, üzerinde ölmeye değer bir tepe mi?
Hangi savaşların savaşmaya değer olduğu konusunda stratejik bir değerlendirme yapan generallere atıfta bulunuyordu: kazançlar maliyete değer mi?
- Bu ayrımı yapmak için tartışmanın akışını kesmeye gerçekten değer mi?
- Soyluğum kibir duygusundan mı yoksa geçmişteki bir acıdan mı kaynaklanıyor?
- Yorumlarım benimkilerin yanı sıra başkalarının becerilerine de değer veriyor mu?
Tabii ki, ayrım yapılması gereken zamanlar vardır. Amacım, katkı yaptığımda, kolektif çabalarımıza değer katacağı.
Sonuçta, her gerçek programcının işi .