İyi bir yazılımcı olmak için önerileriniz nedir?

Katılım
24 Haziran 2021
Mesajlar
2.958
Yazdığımda komik olan nedir diye sordum bende.
Hocam C kullanmıyor dediniz ya.
"Arduino için Entegre Geliştirme Ortamı( IDE ), C ve C ++ [2] dilleri ile yazılmış bir platformlar arası uygulamadır ( Linux, macOS, Windows için,)."
Wikipedia'dan bakabilirsiniz. Sadece C de kullanmıyor C++ da.
Bunun haricinde kendi dili de vardı herhalde. Ama biraz yavaş mıydı neydi herhalde. İlerleyince kendin kodlaman daha iyiydi yanlış hatırlamıyorsam. Şu an ilgilenmediğimden bilmiyorum.
 

TheAny

Kilopat
Katılım
18 Aralık 2018
Mesajlar
4.336
Makaleler
7
Çözümler
50
Hocam C kullanmıyor dediniz ya.
"Arduino için Entegre Geliştirme Ortamı( IDE ), C ve C ++ [2] dilleri ile yazılmış bir platformlar arası uygulamadır ( Linux, macOS, Windows için,)."
Wikipedia'dan bakabilirsiniz. Sadece C de kullanmıyor C++ da.
Bunun haricinde kendi dili de vardı herhalde. Ama biraz yavaş mıydı neydi herhalde. İlerleyince kendin kodlaman daha iyiydi yanlış hatırlamıyorsam. Şu an ilgilenmediğimden bilmiyorum.
Wiki yanlış.

Kendi dili zaten C++. Arduino C++ ile çeşitli metotlar kullanılarak geliştirilmiş bir dile sahip. Adına Arduino programlama dili diyoruz. Fakat temeli C++. Arduino IDE'si ile sketch adı verilen kod dosyalarınızı oluşturduktan sonra, yine IDE'yi kullanarak yazdıklarınızı makine dili için derliyor. Yani Arduino'da geliştirme C++ ile yapılıyor. Peki Wikipedia'daki bilgi neden yanlış? Çünkü C++, C'den türetilmiş bir dil olsa da sadece structered programlamayı değil, aynı zamanda nesne yönelimli programlamayı ve dinamik veri tiplerini de destekliyor. String, Vector gibi dinamik veri tipleri, C++'la kullanılır hale geliyor. Aynı zamanda sınıf oluşturup, o sınıftan bir nesne oluşturmakta yine C++'la gelen bir özellik. Dolayısıyla geliştirme süreci C değil, C++ ile olmuş oluyor. C ile dersen, sınıf oluşturamaz, sınıf çağrıları yapamazsın. Struct oluşturur, bu struct'ta üye oluşturursun en fazla.

Ek olarak: C++'da, C kütüphanelerini ve C'de gelen fonksiyonları kullanabilirsiniz. Bu C++'ı, C yapmaz.

Düzeltme: Wiki yanlış değil, wiki'ye yapılan referans yanlış. Wiki Arduino IDE'sinin hangi diller ile yazıldığını belirtmiş, hangi dilleri kullandığını değil.
 
Son düzenleme:
Katılım
24 Haziran 2021
Mesajlar
2.958
Wiki yanlış.

Kendi dili zaten C++. Arduino C++ ile çeşitli metotlar kullanılarak geliştirilmiş bir dile sahip. Adına Arduino programlama dili diyoruz. Fakat temeli C++. Arduino IDE'si ile sketch adı verilen kod dosyalarınızı oluşturduktan sonra, yine IDE'yi kullanarak yazdıklarınızı makine dili için derliyor. Yani Arduino'da geliştirme C++ ile yapılıyor. Peki Wikipedia'daki bilgi neden yanlış? Çünkü C++, C'den türetilmiş bir dil olsa da sadece structered programlamayı değil, aynı zamanda nesne yönelimli programlamayı ve dinamik veri tiplerini de destekliyor. String, Vector gibi dinamik veri tipleri, C++'la kullanılır hale geliyor. Aynı zamanda sınıf oluşturup, o sınıftan bir nesne oluşturmakta yine C++'la gelen bir özellik. Dolayısıyla geliştirme süreci C değil, C++ ile olmuş oluyor. C ile dersen, sınıf oluşturamaz, sınıf çağrıları yapamazsın. Struct oluşturur, bu struct'ta üye oluşturursun en fazla.

Ek olarak: C++'da, C kütüphanelerini ve C'de gelen fonksiyonları kullanabilirsiniz. Bu C++'ı, C yapmaz.

Düzeltme: Wiki yanlış değil, wiki'ye yapılan referans yanlış. Wiki Arduino IDE'sinin hangi diller ile yazıldığını belirtmiş, hangi dilleri kullandığını değil.
Destekliyor diyor ama.
"Arduino IDE'si, özel kod yapılandırması kullanma kullanarak C ve C ++ dillerini destekliyor. [5]" Kaynağı da buymuş.

Benim bildiğim ikisi de kullanılıyor.
 

TheAny

Kilopat
Katılım
18 Aralık 2018
Mesajlar
4.336
Makaleler
7
Çözümler
50
Destekliyor diyor ama.
"Arduino IDE'si, özel kod yapılandırması kullanma kullanarak C ve C ++ dillerini destekliyor. [5]" Kaynağı da buymuş.

Benim bildiğim ikisi de kullanılıyor.
C++'in kendisi C kullanımını destekliyor çünkü. C++, C'den türetilmiş bir dil. Dolayısıyla C'de var olan özelliklerin çoğunu veya tamamını, C++'ta kullanabilirsiniz. Ama C++'ı, C++ yapan nesne yönelimli programlama özelliğini sunan sınıf sistemini, C'de kullanamazsınız. Bu yüzden C ≠ C++ ve bu yüzden Arduino C değil, C++ ile geliştiriliyor deniyor.
 
Katılım
24 Haziran 2021
Mesajlar
2.958
C++'in kendisi C kullanımını destekliyor çünkü. C++, C'den türetilmiş bir dil. Dolayısıyla C'de var olan özelliklerin çoğunu veya tamamını, C++'ta kullanabilirsiniz. Ama C++'ı, C++ yapan nesne yönelimli programlama özelliğini sunan sınıf sistemini, C'de kullanamazsınız. Bu yüzden C ≠ C++ ve bu yüzden Arduino C değil, C++ ile geliştiriliyor deniyor.
Sonuç olarak C/C++ kullanmış oluyor.
Değil mi? Zaten genelde de böyle değil mi istisnalar haricinde.
 

TheAny

Kilopat
Katılım
18 Aralık 2018
Mesajlar
4.336
Makaleler
7
Çözümler
50
Sonuç olarak C/C++ kullanmış oluyor.
Değil mi? Zaten genelde de böyle değil mi istisnalar haricinde.
İstisnalar değil. Aynı şeyi tekrar ediyorum ama C kullanıyorsun dediğinde, sınıf/nesne yapısını kullanamıyorsun demektir. Yukarıda ilk cevap verdiğim kişinin iddiası "nesne yönelimli programlama kullanarak, donanım için yazılım yazılamaz"'dı. Arduino'nun "sadece C" olduğu iddiasıyla da kendi iddiasını destekliyordu aklınca. Ancak Arduino C değil, C++ kullandığı için nesne yönelimli bir dil ile donanım programlaması yapmış oluyor. Tekrar söylüyorum; C ve C++ aynı şey değil. C++ üzerinde C kodlarını kullanabiliyor olmak, C++'ı C yapmaz.

Sonuç olarak C/C++ kullanmış oluyor.
Değil mi? Zaten genelde de böyle değil mi istisnalar haricinde.
Kabaca, Chrome eklentilerini, Chromium tabanlı tarayıcılarda kullanmak gibi düşün bunu. Tarayıcı için Chrome diyebilir misin? Hayır. Ancak Chrome özelliklerini kullanmaya izin veriyor. C ve C++'ın durumu da bu.
 
Katılım
24 Haziran 2021
Mesajlar
2.958
İstisnalar değil. Aynı şeyi tekrar ediyorum ama C kullanıyorsun dediğinde, sınıf/nesne yapısını kullanamıyorsun demektir. Yukarıda ilk cevap verdiğim kişinin iddiası "nesne yönelimli programlama kullanarak, donanım için yazılım yazılamaz"'dı. Arduino'nun "sadece C" olduğu iddiasıyla da kendi iddiasını destekliyordu aklınca. Ancak Arduino C değil, C++ kullandığı için nesne yönelimli bir dil ile donanım programlaması yapmış oluyor. Tekrar söylüyorum; C ve C++ aynı şey değil. C++ üzerinde C kodlarını kullanabiliyor olmak, C++'ı C yapmaz.


Kabaca, Chrome eklentilerini, Chromium tabanlı tarayıcılarda kullanmak gibi düşün bunu. Tarayıcı için Chrome diyebilir misin? Hayır. Ancak Chrome özelliklerini kullanmaya izin veriyor. C ve C++'ın durumu da bu.
Denk gelmişken şunu da sorayım. C++ C'yi kapsıyorsa Linux kerneli neden C ile geliştiriliyor?
 
Yukarı