Yazılım geliştirmenin matematiği iyi öğrenmesi gerekiyor mu?

Çoğu zaman ihtiyaç duyulmaz, ancak faydaları da vardır.

Yazar | Devin Soni

Çevirmen | Crescent Moon, Baş Editör | Tu Min

Üretildi | CSDN ( İD: CSDNhaberler)

Aşağıdaki çeviridir:

Bir yazılım mühendisinin işi nedir?

Matematik ve yazılım geliştirme arasındaki ilişkiyi anlamak için öncelikle sıradan bir yazılım mühendisinin işini anlamamız gerekir.

Mühendislerin çoğu, en sonunda, ön uç veya arka uç veya her ikisi olmak üzere Web veya iş uygulamalarının geliştirilmesiyle ilgilenecektir.

Bu tür projeler genellikle Java, JavaScript, Python, C # ve Go gibi dillerin yanı sıra SQL gibi sorgu dillerinde uzmanlaşmanızı gerektirir.

Dilin kendisine ek olarak, React, Angular, Express, Django ve Spring gibi çerçeve ve kitaplıkları kullanmayı da öğrenmeniz gerekir.Bu çerçeveler ve kitaplıklar, uygulamaların geliştirilmesini hızlandırabilir.

Ayrıca, Docker ve Kubernetes gibi kapsayıcıya alınmış ürünler gibi geliştirme ve operasyon bilgilerini öğrenmeniz ve Amazon'un AWServices, Google Cloud Platform vb. Gibi çeşitli bulut bilişim platformlarını kullanmayı öğrenmeniz gerekebilir.

Matematik bilgisine ne zaman ihtiyacınız var?

Bu yazılım mühendisliği bilgisini iyi öğrenmek zor bir görev olsa da, mesele bu bilginin matematik ile doğrudan bir ilişkisi olmamasıdır. Birçok bilgi matematik alanındaki teorilere dayanmasına rağmen, bu bilgiyi öğrenmek matematik bilgisi gerektirmez.

Bu teknolojiler için gerekli bilgilerin çoğu bağımsızdır ve üniversite derslerinde öğretilen teorik içeriği kapsamaz.

Çoğu bilgisayar bilimi dersi bile yalnızca bu teknolojilerin dışını anlamanıza yardımcı olabilir. Üniversite dersleri size bu teknolojilerin tasarımı ve bunların nasıl uygulanacağı hakkında arka plan bilgisi sağlayabilir, ancak bu teknolojilerin pratikte nasıl kullanılacağını nadiren açıklarlar.

Bununla birlikte, temel matematiksel kavramlar ve bilgiler, çoğu yazılım mühendisliği işi ile hala belirli bir ilişkiye sahiptir. Ancak bu matematik bilgisi herhangi bir resmi eğitim gerektirmez, internet üzerinden kendi başınıza kolayca öğrenebilirsiniz.

Aşağıdakiler, yazılım mühendislerinin ustalaşması gereken temel matematiksel bilgi ve kavramlardır:

  • Hızlı tahmin yoluyla (Fermi problemi gibi), maliyeti ve sistem yükünü tahmin edin.

  • Olasılık ve istatistik hakkında temel bir anlayışa sahip olun, veriye dayalı kararlar verebilme (A / B testi kullanma gibi) ve temel veri analizi gerçekleştirme.

  • Basit mantık anlayışı, doğru kod yazabilme ve başkaları tarafından yazılan koşullu yargıları anlayabilme.

  • Aşamalı analiz hakkında temel bir anlayışa sahip olun, karmaşık kodlar yazabilir ve etkili çözümler bulmak için kendinize rehberlik edebilirsiniz.

Matematik yardımcı olur mu?

Çoğu yazılım mühendisliği işi matematik bilgisi gerektirmese de, sağlam bir matematiksel temele sahip olmak doğal olarak kötü bir şey değildir.

Matematik dersleri ve yaygın yazılım mühendisliği etkinlikleri arasında doğrudan aktarılabilecek çok fazla bilgi olmasa da, matematik öğrenme süreci önemli problem çözme becerilerinizi geliştirebilir.

Temel olarak, yazılım mühendisliğinin işi, kod yazarak ve yazılım sistemleri tasarlayarak sorunları çözmektir. Benzer şekilde, matematik, özellikle kanıta dayalı matematik, problemleri çözmek için bir dizi doğru ifade yazmak için matematik dilinin kullanılmasını gerektirir.

Yüksek düzeyde, bu iki etkinlik mantığı ve gerçekleri belirli bir ifade diline çevirmeyi içerir. Her iki durumda da mantığın tutarlılığı ve doğruluğu çok önemlidir.

Ancak bu matematiğe özgü değildir. Diğer birçok alan (felsefe gibi) ve FeTeMM alanları (fizik gibi) da benzer yetenekler içerir. Belirli video oyunlarını oynamak veya bulmaca çözmek gibi bazı etkinlikler bile benzer mantık ve problem çözme becerileri gerektirir.

Matematik, yazılım mühendislerinin programlama dışında eleştirel düşünme becerileri geliştirmelerine yardımcı olan birçok faaliyetten sadece biridir.

Matematiği ne zaman kullanmam gerekir?

Yazılım mühendisliğinin çoğu alt alanı doğrudan matematiği kullanmasa da, aslında matematiğin kullanılmasını gerektiren bazı alanlar vardır.

Bu alanlar arasında makine öğrenimi, grafikler, oyun geliştirme, robotik ve programlama dili geliştirme bulunur.

Bu alanlarda, çalışmanız, matematik, doğrusal cebir, grafik teorisi, olasılık, istatistik, mantık ve ayrık matematik dahil olmak üzere matematik bilgisinin doğrudan uygulanmasını gerektirir.

Bununla birlikte, matematiksel bilgi gerektiren çok sayıda alanda bile, matematiksel bilgiyi nadiren doğrudan koda dönüştürürüz çünkü kitaplıkları da kullanabiliriz.

Bu kitaplıklar (esas olarak sinir ağı programlaması için kullanılan TensorFlow gibi) temel işlemleri soyutlayabilir ve programcıların yalnızca daha fazlasını yapması gerekir Dikkat Gelişmiş konsept.

Örneğin, böyle bir kitaplığı kullanan bir mühendis olarak, kod yazmadan degrade iniş kullanabilirsiniz. Sadece sinir ağının mimarisini ve eğitim yöntemini belirlemeniz gerekir.

Bu nedenle, bu alanlarda bile, tüm temel matematiği bilmenize gerek yok. İşinizi etkin bir şekilde tamamlamak için genellikle sadece kavramları ve uygulama yöntemlerini anlamak yeterlidir.

Orijinal: https: // orta .com / daha iyi programlama / do-you-need-math-to-a-software-Engine-26694a11f7ea

Bu makale bir CSDN çevirisidir, lütfen yeniden basımın kaynağını belirtin.

Alibaba Cloud, Tencent Cloud, UCloud ve Huawei Cloud Cloud ana bilgisayar karşılaştırma test raporu
önceki
Appleın resmi web sitesi takas fiyatları düştü; Dai Wei, yasal temsilcisi ve yöneticilerinden çekildi; TensorFlow 2.1.0 yayınlandı | Geek Manşet
Sonraki
Zhang Xiaolong'un evrimi
12306 bilet kapma yazılımı işe alıyor ve teknik kafa derisi işinin "sarı" olması mı gerekiyor?
Bir İnternet şirketi olan Bahar Şenliği Galası
2020'de popüler Python ve JavaScript değiştirilecek mi?
"Linux bilmiyorum, nasıl programcı olabilirim?" Röportajcı: Ortadan kaldırılmayı bekliyorum
Harika bir uzay gemisi savaşı yapmak için Python'u kullanın! Güç Projesi
Bir bakışta 2020 teknoloji trendleri: AutoML, birleşik öğrenme, bulut oligark döneminin sonu
Dharma Academy 2020 Tahmini: Modülerlik Çip Tasarımının Eşiğini Düşürüyor | Çin'in BT Teknoloji Evrimi Hakkında Sorular
HTML5 kodu "cazibesi" ile arama motorlarının dikkatini nasıl çekebilir?
Python için en iyi 30 uygulama, ipucu ve püf noktası
Rust giriş kılavuzu: satır üstüne satır | CSDN blog seçimi
Her genç geliştiricinin bilmesi gereken altı şey
To Top