{"id":937,"date":"2019-02-14T17:58:51","date_gmt":"2019-02-14T17:58:51","guid":{"rendered":"http:\/\/www.yazilimperver.com\/?p=937"},"modified":"2019-02-14T17:58:51","modified_gmt":"2019-02-14T17:58:51","slug":"modern-ci-ogrenme-ve-ogretme","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/","title":{"rendered":"Modern C++&#8217;\u0131 \u00d6\u011frenme ve \u00d6\u011fretme"},"content":{"rendered":"<p>Herkese merhaba arkada\u015flar, yeni bir yaz\u0131 ile tekrar birlikteyiz. Bu yaz\u0131da ba\u015fl\u0131ktan da anla\u015f\u0131laca\u011f\u0131 \u00fczere Modern C++&#8217;\u0131 nas\u0131l \u00f6\u011frenebiliriz ve nas\u0131l \u00f6\u011fretebiliriz konular\u0131na, bir video&#8217;yu temel alarak, g\u00f6z ataca\u011f\u0131z. Yaz\u0131m\u0131n kayna\u011f\u0131 olan bu video, Bjarne Stroustrup&#8217;un 2017 de ger\u00e7ekle\u015ftirmi\u015f oldu\u011fu a\u00e7\u0131l\u0131\u015f konu\u015fmas\u0131.<\/p>\n<p><iframe loading=\"lazy\" width=\"780\" height=\"439\" src=\"https:\/\/www.youtube.com\/embed\/fX2W3nNjJIo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>C++ kullanarak yaz\u0131l\u0131m geli\u015ftiren, daha da \u00f6nemlisi, \u00f6\u011frenmeyi planlayan her yaz\u0131l\u0131mc\u0131n\u0131n bu videoyu bir kere olsun izlemesinde fayda var. E\u011fer \u00e7ok zaman\u0131m yok ya da h\u0131zl\u0131ca bir \u00f6zet ge\u00e7er misin sevgili yaz\u0131l\u0131mperver dostum derseniz, o zaman do\u011fru yerdesiniz. Burada video da ge\u00e7en \u00f6nemli g\u00f6rd\u00fc\u011f\u00fcm hususlar\u0131 a\u015fa\u011f\u0131da, kendi g\u00f6r\u00fc\u015flerim ile birlikte tamamen subjektif olarak \u00f6zetleyece\u011fim. Her bir sekme bir birinden ba\u011f\u0131ms\u0131z olarak de\u011ferlendirilebilir. Genel olarak videodaki ak\u0131\u015f\u0131 takip etmeye \u00e7al\u0131\u015ft\u0131m. Merak etti\u011finiz k\u0131s\u0131mlar\u0131n detaylar\u0131n\u0131 konu\u015fma i\u00e7erisinde bulabilirsiniz:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/images.gr-assets.com\/authors\/1271683549p4\/5217.jpg\" alt=\"George Bernard Shaw\" \/><\/p>\n<ul>\n<li>Konu\u015fman\u0131n a\u00e7\u0131l\u0131\u015f\u0131 George Bernard Shaw&#8217;\u0131n bir s\u00f6z\u00fc ile ba\u015fl\u0131yor:\n<ul>\n<li>&#8220;<em>The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore <strong>all progress depends on the unreasonable man<\/strong>.<\/em>&#8220;<\/li>\n<li>Konu\u015fman\u0131n \u00f6z\u00fc de asl\u0131nda bu s\u00f6z ile ilintili: <em>mevcut durumda C++ i\u00e7in ne i\u015fe yaram\u0131yor ve bunu nas\u0131l d\u00fczeltilebilir?<\/em>\n<ul>\n<li>Bunu, \u00f6zellikle, b\u00fcy\u00fck bir kod i\u00e7erisinde gezinirken g\u00f6rd\u00fc\u011f\u00fcn\u00fcz hatalarda fark ediyorsunuz, birileri bu hususlar\u0131 anlat\u0131rken bir yerleri atlam\u0131\u015flar,<\/li>\n<li>Bir \u00e7ok kod i\u00e7erisinde halen temel hatalar\u0131n yap\u0131ld\u0131\u011f\u0131 ve bunun olduk\u00e7a fazla oldu\u011fu g\u00f6r\u00fcl\u00fcyor,<\/li>\n<\/ul>\n<\/li>\n<li>Ayn\u0131 zamanda benim gibi bu konularda yazan yazarlar i\u00e7in de g\u00fczel tavsiyeler bar\u0131nd\u0131r\u0131yor. Nelere dikkat etmeliyiz? Nas\u0131l ifade etmeliyiz?<\/li>\n<\/ul>\n<\/li>\n<li>\u00d6zellikle \u00f6\u011freticiler i\u00e7in bir ka\u00e7 \u00f6nemli soru irdeleniyor:\n<ul>\n<li>Ne \u00f6\u011fretiyoruz ve neden? Kime \u00f6\u011fretiyoruz ve nas\u0131l?<\/li>\n<li>Bu esnada kendimizi nas\u0131l geli\u015ftiriyoruz\/geli\u015ftirmeliyiz?<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/images.unsplash.com\/photo-1514996937319-344454492b37?ixlib=rb-1.2.1&amp;ixid=eyJhcHBfaWQiOjEyMDd9&amp;auto=format&amp;fit=crop&amp;w=1000&amp;q=80\" alt=\"two men using computer and laptop\" \/><\/p>\n<ul>\n<li>Anlatt\u0131\u011f\u0131n\u0131z konular\u0131 nas\u0131l se\u00e7ti\u011finiz ve amac\u0131n\u0131z\u0131n ne oldu\u011fu \u00e7ok \u00f6nemli. Burada g\u00fczel bir analoji yap\u0131yor kendisi: &#8220;E\u011fer \u00f6\u011fretti\u011finiz \u015fey \u00e7oklu se\u00e7enekli bir test sorusuna uygun ise bu k\u00f6t\u00fcd\u00fcr, bunu her t\u00fcrl\u00fc \u00f6\u011frenebilir ve bu ki\u015fiye \u00e7ok fazla bir katk\u0131da bulunmayabilir. \u0130lgin\u00e7 ve \u00f6nemli olan konular genelde \u00f6l\u00e7\u00fclebilir olmayanlard\u0131r (hani o eskiden kompozisyon \u00f6devleri ya da benzeri sorular yok muydu onun tad\u0131nda)&#8221;,<\/li>\n<li>\u00d6zellikle C++ anlat\u0131yor\/\u00f6\u011fretiyor iseniz, a\u015fa\u011f\u0131daki hususlar \u00f6nemli:\n<ul>\n<li>Ge\u00e7mi\u015fleri ne? Ne biliyorlar? E\u011fitim ve tecr\u00fcbe seviyeleri nedir?<\/li>\n<li>\u00d6\u011frenci mi? Yoksa end\u00fcstri de bir \u00e7al\u0131\u015fan m\u0131? Profesyonel ya da amat\u00f6r geli\u015ftirici mi?<\/li>\n<li>Farkl\u0131 programlama dili tecr\u00fcbeleri var m\u0131?<\/li>\n<li>Neler onlar i\u00e7in faydal\u0131 olacak?<\/li>\n<li>K\u0131sacas\u0131, hedef kitlenizden haberdar olup, aktaraca\u011f\u0131n\u0131z i\u00e7eri\u011fi buna g\u00f6re d\u00fczenlemeniz gerekiyor. Programlama bilmeyen bir bilgisayar m\u00fchendisi ile 5 y\u0131ll\u0131k Java programc\u0131s\u0131na verece\u011finiz C++ e\u011fitimi ayn\u0131 olmamal\u0131. Burada konu\u015fmac\u0131 tabi \u00f6zellikle \u00f6\u011freticileri g\u00f6z \u00f6n\u00fcnde bulunduruyor. Ama bu <span style=\"text-decoration: underline;\"><em><strong>C++ \u00f6\u011frenecekler<\/strong><\/em><\/span>, i\u00e7in de ge\u00e7erli. \u00d6rne\u011fin, daha \u00f6nce hi\u00e7 programlama yapt\u0131k m\u0131 yapmad\u0131k m\u0131? Buna g\u00f6re bakaca\u011f\u0131m\u0131z kaynaklar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurmam\u0131z laz\u0131m, C++&#8217;\u0131n yeni bir kabiliyetini \u00f6\u011frenece\u011fimiz zaman, amac\u0131m\u0131z nedir? Nerede kullanaca\u011f\u0131z? Daha \u00f6nceki tecr\u00fcbemiz nedir?<\/li>\n<li>Ayr\u0131ca, C++&#8217;n\u0131n sa\u011flayabilece\u011fi, \u00f6zellikle performans anlam\u0131nda, getirileri ifade etmemiz gerekiyor. Yani, evet, Python kullanarak bir biyolog gerekli olan bir i\u015fi yapt\u0131rabilir. Ama bu i\u015flem 6 g\u00fcn s\u00fcr\u00fcyor ve bu C++ gibi bir dil ile dakikalara mertebesine d\u00fc\u015febiliyor ise, bundan haberdar olmal\u0131 \ud83d\ude42<\/li>\n<\/ul>\n<\/li>\n<li>C++, C&#8217;ye yap\u0131lan bir eklenti de\u011fildir ya da C&#8217;yi Java yapma \u00e7abas\u0131 da ya da bir y\u0131\u011f\u0131n kabiliyetin bir araya getirilmesi de de\u011fildir. Sonu\u00e7ta dilin babas\u0131 bunu diyor. Da\u011f\u0131l\u0131n \ud83d\ude42<\/li>\n<li>\u00d6\u011fretici, ment\u00f6r veya dan\u0131\u015fman olan i\u00e7in g\u00fczel bir \u00f6neride bulunuyor ki asl\u0131nda bu her konu i\u00e7in ge\u00e7erli, o da:\n<ul>\n<li>Ama\u00e7 ve hedeflerinizi somut ve a\u00e7\u0131k bir \u015fekilde ifade edin (\u00d6r. Hedefiniz C++&#8217;\u0131n bir kabiliyetini derinlemesine \u00f6\u011fretmek mi? Ya da dili \u00f6\u011fretmek mi? C++ kullanacak ki\u015filer g\u00f6m\u00fcl\u00fc sistemler i\u00e7in mi yoksa oyun programlama i\u00e7in mi bunu \u00f6\u011freniyorlar? Buna g\u00f6re i\u00e7eri\u011finizi ve anlatacaklar\u0131n\u0131z\u0131 derlemenizde fayda var),<\/li>\n<li>Her \u015feyi anlatmaya \u00e7al\u0131\u015fmay\u0131n, anlatamazs\u0131n\u0131z,<\/li>\n<li>Amac\u0131n\u0131z\u0131, anlatmay\u0131 planlad\u0131\u011f\u0131n\u0131 materyali yaz\u0131n ve bunun ile ilgili geri bildirim almaya \u00e7al\u0131\u015f\u0131n.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/images.pexels.com\/photos\/1102797\/pexels-photo-1102797.png?auto=compress&amp;cs=tinysrgb&amp;dpr=1&amp;w=500\" alt=\"Programming Codes Screengrab\" \/><\/p>\n<ul>\n<li>Nihayetinde C++ \u00f6\u011fretilmesinin arkas\u0131nda ne yat\u0131yor? Burada a\u015fa\u011f\u0131daki gibi bir \u00e7ok sebep s\u0131ralan\u0131yor ve bunlardan \u00f6zellikle 4 ve 6 hedeflerine Bjarne \u00f6zellikle odakland\u0131\u011f\u0131n\u0131 ifade ediyor. Nedir bunlar:\n<ol>\n<li>\u00d6\u011frencileri programlama konusunda gaza getirme,<\/li>\n<li>Bilgisayar bilimleri dersine kay\u0131t olana \u00f6\u011frencilerin say\u0131s\u0131n\u0131 artt\u0131rma (demek ki rekabet var \ud83d\ude42<\/li>\n<li>Basit programlar yazmalar\u0131n\u0131 \u00f6\u011fretmek,<\/li>\n<li><em>Yaz\u0131l\u0131m geli\u015ftirme kariyerleri i\u00e7in temel bir alt yap\u0131 sa\u011flamak (*),<\/em><\/li>\n<li>Asl\u0131nda \u00e7ok da bilgisayar bilimleri dersi olmamas\u0131 hasebi ile h\u0131zl\u0131ca dersi verip \u00e7ok zaman harcamadan bitirmek,<\/li>\n<li><em>Yaz\u0131l\u0131m geli\u015ftirme i\u00e7erecek herhangi bir kariyer i\u00e7in temel bir alt yap\u0131 sa\u011flamak (*).<\/em><\/li>\n<\/ol>\n<\/li>\n<li>Anlat\u0131rken sadece dil \u00f6zelliklerine odaklanmay\u0131n ve her \u00f6zelli\u011fini anlataca\u011f\u0131m diye u\u011fra\u015fmay\u0131n. \u00d6zellikle, programlama dilinin, \u00f6nemli olan kabiliyetlerine odaklan\u0131n (yani unsigned int&#8217;in int&#8217;e d\u00f6n\u00fc\u015ft\u00fcr\u00fclmesindense, daha okunabilir, idame ettirilebilir kodlar yazar\u0131ma, bu anlamda katk\u0131da bulunabilecek \u00f6zelliklere).<\/li>\n<li>Burada \u00e7e\u015fitli k\u00fct\u00fcphanelerden faydalan\u0131lmas\u0131 gerekti\u011finden bahsediyor, \u00f6zellikle STL. Konteyner ve benzeri yap\u0131lara da de\u011finmek olduk\u00e7a \u00f6nemli ve bunlar\u0131 m\u00fcmk\u00fcn oldu\u011funca kullanmak laz\u0131m,<\/li>\n<li>\u00c7ok zeki davranmay\u0131n ve insanlar\u0131n temelleri anlad\u0131\u011f\u0131ndan emin olun, basitle\u015ftirin ve o kabiliyetin kullan\u0131m amac\u0131n\u0131 verin ve muhakkak bunu gerek\u00e7elendirip ifade edin (bu sizin i\u00e7in iyidir kullan\u0131n yeterli de\u011fil),<\/li>\n<li>Sadece bir derleyici ve ders kitab\u0131na ba\u011f\u0131ml\u0131 kalmay\u0131n. IDE&#8217;lerden, hata ay\u0131klay\u0131c\u0131lardan, konfig\u00fcrasyon y\u00f6netim ara\u00e7lar\u0131ndan, test ara\u00e7lar\u0131ndan, \u00e7evrim i\u00e7i derleyicilerden (bunlardan birini siteme ekleyece\u011fim en k\u0131sa s\u00fcrede;), statik kod analizlerinden de bahsedin,<\/li>\n<li>Programlama dersi, uygulama tabanl\u0131 bir derstir ve muhakkak ellerinizi kirletmeniz gerekiyor. Daha \u00f6nceki yaz\u0131lar\u0131mda da ifade etti\u011fim gibi iyi bir programc\u0131 olmak i\u00e7in bir \u00e7ok kod incelemeniz gerekiyor, benzer \u015fekilde iyi tasar\u0131mlar yapmak i\u00e7in de \u00e7e\u015fitli tasar\u0131mlar\u0131 incelemelisiniz,<\/li>\n<li>C++&#8217;\u0131n grafiksel kullan\u0131c\u0131 aray\u00fczleri, WEB, veri taban\u0131 ve benzeri servislere ili\u015fkin kabiliyetlerine de yer vermelisiniz (galiba ben de vermeliyim). Burada \u00f6zellikle ger\u00e7ek hayattan \u00f6rnekler ile \u00f6\u011frencileri gaza getirmek iyi bir y\u00f6ntem olabilir (\u00f6r. Chrome nas\u0131l \u00e7al\u0131\u015f\u0131r, vs),<\/li>\n<li>Ayr\u0131ca geli\u015ftirilen C++ uygulamalar\u0131n, donan\u0131mlar ile ili\u015fkilerinden de bahsetmekte fayda var. Normalde bunlar g\u00f6z ard\u0131 edilebiliyor ama asl\u0131nda \u00f6nemli noktalardan birisi bu konu oluyor,<\/li>\n<li>Programlaman\u0131n da asl\u0131nda foto\u011fraf\u00e7\u0131l\u0131\u011fa benzedi\u011fini ifade ediyor. \u015e\u00f6yle ki:\n<ul>\n<li>Sonu\u00e7lar her ikisinde de kulland\u0131\u011f\u0131n\u0131z ekipmana ba\u011fl\u0131,<\/li>\n<li>Sonu\u00e7lar her ikisinde de kullan\u0131c\u0131ya ba\u011fl\u0131,<\/li>\n<li>Bir \u00e7ok bile\u015feni var,<\/li>\n<li>Kullan\u0131c\u0131lar farkl\u0131 ve her birinin farkl\u0131 yakla\u015f\u0131m ve kabiliyetleri oluyor,<\/li>\n<li>Benzer \u015fekilde ihtiya\u00e7lar\u0131 da farkl\u0131.<\/li>\n<\/ul>\n<\/li>\n<li>\u00a0Modern C++ anlat\u0131l\u0131rken a\u015fa\u011f\u0131daki konulara de\u011finmekte fayda var:\n<ul>\n<li><strong><span style=\"color: #008000;\"><a style=\"color: #008000;\" href=\"https:\/\/pythonconquerstheuniverse.wordpress.com\/2009\/10\/03\/static-vs-dynamic-typing-of-programming-languages\/\">Statik tip emniyeti<\/a><\/span><\/strong> (k\u0131saca bir de\u011fi\u015fken tan\u0131mlad\u0131 iseniz muhakkak bunun ile ilintili bir tip olmal\u0131),\n<ul>\n<li>Aray\u00fczler iyi tan\u0131mlanmal\u0131<\/li>\n<\/ul>\n<\/li>\n<li>Kaynaklar\u0131n emniyeti\n<ul>\n<li>Yap\u0131c\u0131 ve y\u0131k\u0131c\u0131lar\u0131n d\u00fczg\u00fcn kullan\u0131m\u0131<\/li>\n<li><a href=\"http:\/\/Resource Acquisition Is Initialization\"><span style=\"color: #008000;\"><strong>RAII (<em>Resource Acquisition Is Initialization)<\/em><\/strong><\/span><\/a><span style=\"color: #008000;\"><strong>,<\/strong> <\/span>bu konuya ili\u015fkin ayr\u0131ca bir yaz\u0131 yazaca\u011f\u0131m,<\/li>\n<\/ul>\n<\/li>\n<li>Soyutlama<\/li>\n<li>Sarmalama (&#8220;Encapsulation&#8221;), de\u011fi\u015fmezler (&#8220;Invariants&#8221;)\n<ul>\n<li>S\u0131n\u0131flar<\/li>\n<\/ul>\n<\/li>\n<li>Jenerik programlama\n<ul>\n<li>Templates<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Modern C++&#8217;\u0131 a\u015fa\u011f\u0131daki gibi \u00f6zetliyor:\n<ul>\n<li>ISO C++ \u0131 kullanan en iyi pratiklerin kullan\u0131lmas\u0131,<\/li>\n<li>Tip ve kaynaklar\u0131n emniyetli bir \u015fekilde y\u00f6netilmesi.<\/li>\n<\/ul>\n<\/li>\n<li>\u00d6rnek kodlar \u00e7ok \u00f6nemli ve \u00f6\u011fretmede anahtar konumunda. A\u00e7\u0131klamalar muhakkak kod ile beslenmeli ve gerek\u00e7eler ifade edilmeli. Burada a\u00e7\u0131klama\/tan\u0131mlamalar ile \u00f6rnek kodlar birbirlerini tamamlar \u015fekildeler. Biri di\u011ferinden ba\u011f\u0131ms\u0131z ele al\u0131nmas\u0131 s\u0131k\u0131nt\u0131 yaratabilir,<\/li>\n<li>Burada dersin i\u00e7erik ve metnine ili\u015fkin olarak K&amp;R yakla\u015f\u0131m\u0131n\u0131n kullan\u0131labilece\u011finden bahsediyor. \u00d6rne\u011fin <span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/www.lysator.liu.se\/c\/bwk-tutor.html\">\u015fu sayfadaki gibi<\/a><\/strong><\/span>,<\/li>\n<li>Daha sonra yeni C++ standartlar\u0131 ile gelen ve benim de yaz\u0131lar\u0131mda anlatt\u0131\u011f\u0131m &#8220;Ranged Loop&#8221;, &#8220;Literals&#8221; gibi yap\u0131lar\u0131n anla\u015f\u0131labilirli\u011fi ve kodun kalitesini artt\u0131rd\u0131\u011f\u0131ndan bahsediyor. Buna benzer baz\u0131 kurallara da de\u011finiyor,<\/li>\n<li>Fikirlerinizi olabildi\u011fince kod i\u00e7erisinde ifade etmeye \u00e7al\u0131\u015f\u0131n. Kod ile anlat\u0131lan bir \u015feyi bir daha yorum olarak yazmay\u0131n, onun yerine amac\u0131 veya ilk bak\u0131\u015fta anla\u015f\u0131lmas\u0131 zor noktalar\u0131 belirtin ve \u00f6z tutun.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.etsystatic.com\/9769391\/r\/il\/648adf\/788916302\/il_570xN.788916302_kd09.jpg\" alt=\"a teacher takes a hand opens a mind and touches a heart ile ilgili g\u00c3\u00b6rsel sonucu\" \/><\/p>\n<p>Evet arkada\u015flar, konu\u015fmadaki \u00f6nemli noktalar\u0131 \u00f6zetlemeye \u00e7al\u0131\u015ft\u0131m. Bjarne&#8217;nin konu\u015fmas\u0131n\u0131 dinledikten sonra,\u00a0 her ne kadar direkt olarak konu\u015fmada ifade etmese de \u015f\u00f6yle bir ger\u00e7ek var ki &#8220;<em>Bilmek ayr\u0131 bir \u015fey \u00f6\u011fretmek veya anlatmak apayr\u0131 bir \u015fey.<\/em>&#8221; Evet, Bjarne&#8217;nin sunumlar\u0131 \u00f6yle \u00e7ok can canl\u0131 olmayabilir (ki bence canl\u0131 :), 4- 5 sene \u00f6nceki sunumlar\u0131na g\u00f6re yine de olduk\u00e7a canl\u0131 \ud83d\ude42 ama muhteviyat, anlat\u0131m ve yakla\u015f\u0131m ger\u00e7ekten harika. Bu konu\u015fma da o \u00f6rneklerden birisi. Sonu\u00e7ta ileti\u015fimin de temel amac\u0131 ve ba\u015far\u0131 kriteri de, sizin anlatmak istedi\u011finiz mesaj\u0131n, muhatab\u0131n\u0131z taraf\u0131ndan istedi\u011finiz \u015fekilde al\u0131n\u0131p\/al\u0131nmad\u0131\u011f\u0131 ile \u00f6l\u00e7\u00fclebilir. Bu a\u00e7\u0131dan da bu konu\u015fma bence olduk\u00e7a ak\u0131c\u0131 ve g\u00fczel.<\/p>\n<p>Bir sonraki yaz\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere,<\/p>\n<p>Yaz\u0131l\u0131mperver ka\u00e7ar \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Herkese merhaba arkada\u015flar, yeni bir yaz\u0131 ile tekrar birlikteyiz. Bu yaz\u0131da ba\u015fl\u0131ktan da anla\u015f\u0131laca\u011f\u0131 \u00fczere Modern C++&#8217;\u0131 nas\u0131l \u00f6\u011frenebiliriz ve nas\u0131l \u00f6\u011fretebiliriz konular\u0131na, bir video&#8217;yu temel alarak, g\u00f6z ataca\u011f\u0131z. Yaz\u0131m\u0131n kayna\u011f\u0131 olan bu video, Bjarne Stroustrup&#8217;un 2017 de ger\u00e7ekle\u015ftirmi\u015f oldu\u011fu a\u00e7\u0131l\u0131\u015f konu\u015fmas\u0131. C++ kullanarak yaz\u0131l\u0131m geli\u015ftiren, daha da \u00f6nemlisi, \u00f6\u011frenmeyi planlayan her yaz\u0131l\u0131mc\u0131n\u0131n bu videoyu&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[10,41,131],"tags":[348,337,13,345,42,338,344,346,347,88],"class_list":["post-937","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","category-modern-c","category-video","tag-best-practices","tag-bjarne","tag-c","tag-learning","tag-modern-c","tag-stroustrup","tag-teaching","tag-tutorials","tag-video-post","tag-yazilimperver"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Modern C++&#039;\u0131 \u00d6\u011frenme ve \u00d6\u011fretme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modern C++&#039;\u0131 \u00d6\u011frenme ve \u00d6\u011fretme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Herkese merhaba arkada\u015flar, yeni bir yaz\u0131 ile tekrar birlikteyiz. Bu yaz\u0131da ba\u015fl\u0131ktan da anla\u015f\u0131laca\u011f\u0131 \u00fczere Modern C++&#8217;\u0131 nas\u0131l \u00f6\u011frenebiliriz ve nas\u0131l \u00f6\u011fretebiliriz konular\u0131na, bir video&#8217;yu temel alarak, g\u00f6z ataca\u011f\u0131z. Yaz\u0131m\u0131n kayna\u011f\u0131 olan bu video, Bjarne Stroustrup&#8217;un 2017 de ger\u00e7ekle\u015ftirmi\u015f oldu\u011fu a\u00e7\u0131l\u0131\u015f konu\u015fmas\u0131. C++ kullanarak yaz\u0131l\u0131m geli\u015ftiren, daha da \u00f6nemlisi, \u00f6\u011frenmeyi planlayan her yaz\u0131l\u0131mc\u0131n\u0131n bu videoyu... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2019-02-14T17:58:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2017\/12\/FeaturedImage-e1580417052514.png\" \/>\n\t<meta property=\"og:image:width\" content=\"32\" \/>\n\t<meta property=\"og:image:height\" content=\"32\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"yaz\u0131l\u0131mperver\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"yaz\u0131l\u0131mperver\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Modern C++&#8217;\u0131 \u00d6\u011frenme ve \u00d6\u011fretme\",\"datePublished\":\"2019-02-14T17:58:51+00:00\",\"dateModified\":\"2019-02-14T17:58:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/\"},\"wordCount\":1658,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"best practices\",\"bjarne\",\"c++\",\"learning\",\"Modern C++\",\"stroustrup\",\"teaching\",\"tutorials\",\"video post\",\"yazilimperver\"],\"articleSection\":[\"C++\",\"Modern C++\",\"Video\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/\",\"name\":\"Modern C++'\u0131 \u00d6\u011frenme ve \u00d6\u011fretme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2019-02-14T17:58:51+00:00\",\"dateModified\":\"2019-02-14T17:58:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Modern C++&#8217;\u0131 \u00d6\u011frenme ve \u00d6\u011fretme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.yazilimperver.com\/#website\",\"url\":\"https:\/\/www.yazilimperver.com\/\",\"name\":\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"description\":\"Payla\u015fmak g\u00fczeldir.\",\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.yazilimperver.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\",\"name\":\"yaz\u0131l\u0131mperver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"contentUrl\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"caption\":\"yaz\u0131l\u0131mperver\"},\"logo\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Modern C++'\u0131 \u00d6\u011frenme ve \u00d6\u011fretme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/","og_locale":"tr_TR","og_type":"article","og_title":"Modern C++'\u0131 \u00d6\u011frenme ve \u00d6\u011fretme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Herkese merhaba arkada\u015flar, yeni bir yaz\u0131 ile tekrar birlikteyiz. Bu yaz\u0131da ba\u015fl\u0131ktan da anla\u015f\u0131laca\u011f\u0131 \u00fczere Modern C++&#8217;\u0131 nas\u0131l \u00f6\u011frenebiliriz ve nas\u0131l \u00f6\u011fretebiliriz konular\u0131na, bir video&#8217;yu temel alarak, g\u00f6z ataca\u011f\u0131z. Yaz\u0131m\u0131n kayna\u011f\u0131 olan bu video, Bjarne Stroustrup&#8217;un 2017 de ger\u00e7ekle\u015ftirmi\u015f oldu\u011fu a\u00e7\u0131l\u0131\u015f konu\u015fmas\u0131. C++ kullanarak yaz\u0131l\u0131m geli\u015ftiren, daha da \u00f6nemlisi, \u00f6\u011frenmeyi planlayan her yaz\u0131l\u0131mc\u0131n\u0131n bu videoyu... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2019-02-14T17:58:51+00:00","og_image":[{"width":32,"height":32,"url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2017\/12\/FeaturedImage-e1580417052514.png","type":"image\/png"}],"author":"yaz\u0131l\u0131mperver","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"yaz\u0131l\u0131mperver","Tahmini okuma s\u00fcresi":"8 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Modern C++&#8217;\u0131 \u00d6\u011frenme ve \u00d6\u011fretme","datePublished":"2019-02-14T17:58:51+00:00","dateModified":"2019-02-14T17:58:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/"},"wordCount":1658,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["best practices","bjarne","c++","learning","Modern C++","stroustrup","teaching","tutorials","video post","yazilimperver"],"articleSection":["C++","Modern C++","Video"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/","name":"Modern C++'\u0131 \u00d6\u011frenme ve \u00d6\u011fretme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2019-02-14T17:58:51+00:00","dateModified":"2019-02-14T17:58:51+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2019\/02\/14\/modern-ci-ogrenme-ve-ogretme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Modern C++&#8217;\u0131 \u00d6\u011frenme ve \u00d6\u011fretme"}]},{"@type":"WebSite","@id":"https:\/\/www.yazilimperver.com\/#website","url":"https:\/\/www.yazilimperver.com\/","name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","description":"Payla\u015fmak g\u00fczeldir.","publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.yazilimperver.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb","name":"yaz\u0131l\u0131mperver","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/","url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","contentUrl":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","caption":"yaz\u0131l\u0131mperver"},"logo":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/comments?post=937"}],"version-history":[{"count":11,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/937\/revisions"}],"predecessor-version":[{"id":954,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/937\/revisions\/954"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media\/174"}],"wp:attachment":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media?parent=937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}