Herneyse, elle tutulur b,r şey denmiş, PHP ile str_replace... Bakalım
PHP nasıl yapmış:
1343 /* {{{ proto string str_replace(string needle, string str, string haystack)
1344 Replace all occurrences of needle in haystack with str */
1345 void php3_str_replace(INTERNAL_FUNCTION_PARAMETERS)
1346 {
1347 pval *haystack, *needle, *str;
1348 char *new;
1349
1350 if(ARG_COUNT(ht) != 3 ||
1351 getParameters(ht, 3, &needle, &str,
&haystack) == FAILURE) {
1352 WRONG_PARAM_COUNT;
1353 }
1354
1355 convert_to_string(haystack);
1356 convert_to_string(needle);
1357 convert_to_string(str);
1358
1359 if(needle->value.str.len == 1) {
1360
_php3_char_to_str(haystack->value.str.val,haystack->value.str.len,needle->value.str.val[0],str->value.str.val,
str->value.str.len ,return_value);
1361 return;
1362 }
1363
1364 new = _php3_str_to_str(haystack->value.str.val,
haystack->value.str.len,
1365 needle->value.str.val,
needle->value.str.len,
1366 str->value.str.val, str->value.str.len,
1367 &return_value->value.str.len);
1368 return_value->value.str.val =
emalloc(return_value->value.str.len + 1);
1369 memcpy(return_value->value.str.val, new,
return_value->value.str.len + 1);
1370 free(new);
1371 return_value->type = IS_STRING;
1372 }
1373 /* }}} */
Kodu aha şurada:
php_root/ext/standard/string.c
http://git.php.net/?p=php-src.git;a=blob;f=ext/standard/string.c;h=0750aa873432ca3eb9e410f8030460045359c067;hb=a6e4ef3e31629a4060dffb1fcc3153b1854d4f7b
Bir gariplik var di mi? PHP çok kolay filan ama, nedense bu kodu gene
oturmuş bunlar C ile yazmış. Kafayı yemiş olmalı bunlar değil mi
beyler? Hazır güzel güzel PHP dili varken, C ile kendilerine zulm eden
avareler olsa gerek bunlar, bakmayın siz onlara.
2012/4/24 Serdar KÖYLÜ <[email protected]>:
> Bu da bir başka acayip olmuş.
>
> Bakıyorum da, mesela Java ortamı olan dalvik, yani android'deki
> kodlara. Adam nesnelerin tüm methodlarını nerdeyse, native call'lere
> bir wrapper olarak yazmış, altını C++ veya C ile doldurmuş.
>
> Ne kadar danagalak di mi bu Google'un filan yazılımcıları? Java ile
> yazsalar hemen oluverirdi ama mazoşist olduklarından kendilerien zulm
> edip, C/C++ ile yazmış, birde gidip Java interface yapmakla başlarına
> daha bir sürü iş çıkarmışlar aynen.
>
>
>
>
> 2012/4/24 Mehmet Özgür Bayhan <[email protected]>:
>> Affınıza sığınarak(amacım kimseyi rencide etmek değil) güzel şehir
>> hikayeleri bunlar. (:
>>
>> Yaşamınızda bu tarz bir çok şeye şahit olursunuz.Ben söylediklerinizi iki
>> yönlüde çürütebilecek bir çok şeye şahit oldum.En son gittiğimiz bir ilin il
>> sağlık müdürlüğünün 5 kişilik bilgi işlem personelinden bırakın "load
>> balancing" i güvenlik duvarı üzerindeki wan bacaklarının hangileri
>> olduğundan bile birhaberdiler.High level programlama ile uğraşan bir javacı
>> arkadaş çözdü yük dengeleme sorunlarını. (:
>>
>> Bir aralar da format atmayı bilmeyen bilgisayar mühendisleri meşhurdu.
>>
>> Anlatmak istediğim olay kişide biter.Evet eğer sistem tarafıyla
>> uğraşıyorsanız C ve shell programlama sizin için bulunmaz bir
>> nimettir.Diller ihtiyaçlardan doğar.Java ve benzeri dillerin çıkma nedeni de
>> bundan kaynaklıdır.
>>
>> Zaman değişiyor, ilerliyor.Yazılımların sorunları ve ihtiyaçlar da öyle.C
>> deki sorun yapısal olmasından kaynaklı.Bu sorunları aşabilmek için ObjectOP
>> ve AspectOP ve zibil çeşit paradigma üzerinde kafa yoruyor insanlar.
>>
>> Siz eğer bu ihtiyaçları göremiyorsanız ya vizyonunuzda bir eksiklik
>> vardır,ya işinizin nevii gereği ihtiyacınız olmuyordur ya da artık işinizden
>> iyice bezmiş ve kendinizi gelişmelere tamamen kapatmışsınızdır.Her üç
>> durumda da eğer bu sektörün içindeyseniz sakat bir durumdur.Körelmenize yol
>> açar.
>>
>> Evet C hızlıdır, C tüm kontrolü elinize alabileceğiniz bir dildir. Ama her
>> zaman için(veya çoğu zaman) bu kontrol ve hıza ihtiyacınız oluyormu?
>>
>> JavaEE ile gelen yapıları(evet birçoğu gerekli eğer tasarladığınız yapı
>> büyükse) C ile 0 dan kodlamaya çalışan birini hayal ediyorum da....
>>
>> İnsanlar ihtiyaçlarına, yönelmek istedikleri alana göre kendilerini
>> eğitirler.Bilgisayarlar bir bütün değildir.Parçalardan oluşur.İnsanların her
>> parçası üzerine hakim olmasını bekleyemezsiniz.
>>
>> Eski ev arkadaşım/kardeşim şu an Turkcell de yazılım geliştirme ofislerinden
>> birinde takım lideri.Gram anlamaz ip bazlı load balancing den.Önüne açık bir
>> güvenlik duvarını koyun ayarlayamaz.Muhtemelen linux bir makinayı - ubuntu
>> bile olsa- 0 dan bile kuramaz.Umursamaz ve uğraşmaz da.İşi o değil çünkü.
>>
>> Ama çok sağlam bilgisayar mühendisidir.IP bazlı load balancing yapmayı bilen
>> br çok kişiden çok daha fazla para alır, etrafımdaki yazılımla uğraşan
>> insanların bir çoğundan çok daha sağlam yapılar kurar.
>>
>> Bunun tam tersi örneklerde bulunabilir.
>>
>> Dediğim gibi.Diller ihtiyaçlardan doğar.
>>
>> Çok eskiden bir reklam vardı."Yok aslında birbirimizden farkımız, biz
>> osmanlı bankasıyız" diye.Bu konuya cuk oturuyor aslında (:
>>
>> Sürç-ü lisan ettiysek ve istemeden birilerini kırdıysak affola.
>>
>> İyi çalışmalar.
>>
>> _______________________________________________
>> Linux-programlama mailing list
>> [email protected]
>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>>
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php