BÖLÜM


DOI :10.26650/B/ET07.2021.003.16   IUP :10.26650/B/ET07.2021.003.16    Tam Metin (PDF)

Güncel Yazılım Teknolojileri

Mehmet Hakan SatmanEmre Akadal

Sonucu matematik için zamansız olarak bilinen ifadelerin belirli bir değere kavuşturulması için geliştirilen hesap etme (calculation) ve hesaplama (computation) algoritmaları ve onların hesap makinesi, analog ve dijital bilgisayarlarda uygulaması olan yazılım, insanlık için uzunca bir serüveni oluşturur. Bu serüven boyunca hesaplama işlemleri için bulunan farklı çözüm ve yaklaşımların programlama dillerine, programlama dillerinin de farklı çözüm ve yaklaşımlara etki ettiği görülür. Gerek yazılım geliştirme araçlarının gelişimi, gerekse son kullanıcıların ihtiyaçları, bu araçların, doğrusal olmayan bir trend boyunca evrim geçirmesine sebep olduğu gözlemlenir. Bu evrim, programlama dillerinin canlı bir varlığın hayati sürecine benzer bir sürece sahip olmasını sağlamıştır. Kısa sayılabilecek bir süre içerisinde programlama dillerinin doğuşuna, bir topluluk tarafından kabul edilmesi durumunda gelişimine ve yerini daha etkin bir programlama diline bırakmak üzerine gerilemesine şahitlik edebiliyoruz. Bu da günün popüler yöntemlerinin yakın gelecekte “eski” sayılabilmesine sebep olabiliyor. İnsanın doğayı ve kendisini taklit eden teknolojileri geliştirmedeki arzusu günümüzü dağıtık, büyük ve yapısal olmayan verinin hızlıca işlendiği, tüm mümkün durumları izlemek yerine akıl yürüten makinelerin üretildiği, birbirine bağlı ve her birinin küçük bir işi yerine getirdiği cihazların kol gezdiği, eldeki veriyi hızlıca değerlendirip insan için alınması zor kararları aldığı bir dünya haline getirmiştir. Bir insan kendisinden daha zeki bir makine yapabilir mi? İnsanın sahip olduğu bilişsel kusurlar bir taklit olarak üretilen yapay zekada da görülecek midir? Yoksa yazılım ve yapay zeka, insanlık için ne siyah ne de beyaz – hibrit – bir gelecek mi sunacaktır? Bu bölüm; matematik ve yazılım teknolojilerinin kesişimleriyle başlamakta, devamında ise fark yaratmış programlama dillerinin öne çıkan özellik ve alana kattıkları yenilikler ele alınmaktadır.


DOI :10.26650/B/ET07.2021.003.16   IUP :10.26650/B/ET07.2021.003.16    Tam Metin (PDF)

Current Software Technologies

Mehmet Hakan SatmanEmre Akadal

Software is an adventure, which includes calculation, computation, and application processes to determine the value of an expression known by mathematics, a time-independent language, and discipline for a long time. During the adventure, various solutions and approaches used in computation have affected programming languages and vice versa. The improvement of programming tools and the needs of end users have caused the evolution of these tools during a non-linear trend. This evolution has enabled programming languages to generate a process similar to the vital process of a living being. In a short period of time, we can witness the birth of programming languages, their development, if they are accepted by a community, and their regression to leave their place to a more effective software language. This may cause popular methods of the day to be considered “old” in the near future. Humans’ desire to develop technologies that mimic nature and themselves have changed the world. In this world, large and unstructured data are processed quickly, decision-making processes are conducted by reasoning software that does not monitor all the possible situations, systems work by remaining interconnected and distributed, and decision-making processes are conducted quickly and automatically. Can someone build a machine that is smarter than itself? Will we face humanspecific cognitive faults on artificial intelligence applications? Or will software and artificial intelligence bring a hybrid –neither white nor black–future? This section starts with the intersection of mathematics and software technologies, followed by the prominent features and innovations of programming languages that have made a difference.



Referanslar

  • Bracha, G. (2015). The Dart programming language. Addison-Wesley Professional. google scholar
  • Bierman, G., Abadi, M., & Torgersen, M. (2014, July). Understanding typescript. In European Conference on Object-Oriented Programming (pp. 257-281). Springer, Berlin, Heidelberg. google scholar
  • Burnham, T. (2015). Coffeescript: accelerated Javascript development. Pragmatic Bookshelf. google scholar
  • Buscema, M. (1998). Theory: Foundations of artificial neural networks. Substance Use & Misuse, 33(1), 17-199. google scholar
  • Cannasse, N. (2008). Using haxe. In The essential guide to open source flash development (pp. 227-244). Apress. google scholar
  • de Bruin, J. S., Schuh, C., Seeling, W., Luger, E., Gall, M., Hütterer, E., ... & Schindler, K. (2018). Assessing the feasibility of a mobile health-supported clinical decision support system for nutritional triage in oncology outpatients using Arden Syntax. Artificial intelligence in medicine, 92, 34-42. google scholar
  • Doeraene, S., Schlatter, T., & Stucki, N. (2016, October). Semantics-driven interoperability between Scala. js and JavaScript. In Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala (pp. 85-94). google scholar
  • Dorigo, M., Birattari, M., & Stutzle, T. (2006). Ant colony optimization. IEEE computational intelligence magazine, 1(4), 28-39. google scholar
  • Drezner, Z., & Drezner, T. D. (2019). The alpha male genetic algorithm. IMA Journal of Management Mathe-matics, 30(1), 37-50. google scholar
  • Githut 2.0 (2020). A small place to discover languages in github. Github.Com. https://madnight.github.io/git-hut/#/pull_requests/2019/4 Erişim Tarihi: 24.3.2020. google scholar
  • Husain, A. (2017). The sentient machine: The coming age of artificial intelligence. Simon and Schuster. google scholar
  • Jackson, K. R., Ramakrishnan, L., Muriki, K., Canon, S., Cholia, S., Shalf, J., ... & Wright, N. J. (2010, Novem-ber). Performance analysis of high performance computing applications on the amazon web services cloud. In 2010 IEEE second international conference on cloud computing technology and science (pp. 159-168). IEEE. google scholar
  • Karaboga, D. (2005). An idea based on honey bee swarm for numerical optimization (Vol. 200, pp. 1-10). Tech-nical report-tr06, Erciyes university, engineering faculty, computer engineering department. google scholar
  • Karaboga, D., & Basturk, B. (2007, June). Artificial bee colony (ABC) optimization algorithm for solving cons-trained optimization problems. In International fuzzy systems association world congress (pp. 789-798). Springer, Berlin, Heidelberg. google scholar
  • King, J., Ng, N., & Yoshida, N. (2019). Multiparty Session Type-safe Web Development with Static Linearity. arXiv preprint arXiv:1904.01287. google scholar
  • Krishna, G. J., & Ravi, V. (2016). Evolutionary computing applied to customer relationship management: A survey. Engineering Applications of Artificial Intelligence, 56, 30-59. google scholar
  • Koza, J. R. (1994). Genetic programming II: Automatic discovery of reusable subprograms. Cambridge, MA, USA, 13(8), 32. google scholar
  • Kuhail, M. A., Cook, S., Neustrom, J. W., & Rao, P. (2018). Teaching parallel programming with active learning. In 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) (pp. 369-376). IEEE. google scholar
  • Lee, P. (2014). CoffeeScript in action. Manning Publications Co. google scholar
  • Lorenzon, A. F., Sartor, A. L., Cera, M. C., & Beck, A. C. S. (2015). Optimized use of parallel programming interfaces in multithreaded embedded architectures. In 2015 IEEE Computer Society Annual Symposium on VLSI (pp. 410-415). IEEE. google scholar
  • McGranaghan, M. (2011). Clojurescript: Functional programming for javascript platforms. IEEE Internet Com-puting, 15(6), 97-102. google scholar
  • Mirzayev, K. (2016). Analyzing Functional Reactive Programming in ELM andJavaScript (Doctoral dissertation, Long Island University, The Brooklyn Center). google scholar
  • Montana, D. J., & Davis, L. (1989, August). Training Feedforward Neural Networks Using Genetic Algorithms. In IJCAI (Vol. 89, pp. 762-767). google scholar
  • Nozik, A. (2019, October). Kotlin language for science and Kmath library. In AIP Conference Proceedings (Vol. 2163, No. 1, p. 040004). AIP Publishing LLC. google scholar
  • O’Connor, P. J., Sperl-Hillen, J. M., Rush, W. A., Johnson, P. E., Amundson, G. H., Asche, S. E., ... & Gilmer, T. P. (2011). Impact of electronic health record clinical decision support on diabetes care: a randomized trial. The Annals of Family Medicine, 9(1), 12-21. google scholar
  • Pimentel, V., & Nickerson, B. G. (2012). Communicating and displaying real-time data with websocket. IEEE Internet Computing, 16(4), 45-53. google scholar
  • Poli, R., Kennedy, J., & Blackwell, T. (2007). Particle swarm optimization. Swarm intelligence, 1(1), 33-57. google scholar
  • Poli, R., Langdon, W. B., McPhee, N. F., & Koza, J. R. (2008). A field guide to genetic programming. Lulu. Com. google scholar
  • Satman, M. H., & Akadal, E. (2019). Performance Comparison of Tth Specialized Alpha Male Genetic Algorithm with some Evolutionary Algorithms. Trakya University Journal of Social Science, 21(1). google scholar
  • Severance, C. (2012). Javascript: Designing a language in 10 days. Computer, 45(2), 7-8. google scholar
  • Srivastava, B., & Koehler, J. (2003). Web service composition-current solutions and open problems. In ICAPS 2003 workshop on Planning for Web Services, 35. 28-35. google scholar
  • Suganuma, M., Shirakawa, S., & Nagao, T. (2017, July). A genetic programming approach to designing convo-lutional neural network architectures. In Proceedings of the Genetic and Evolutionary Computation Con-ference (pp. 497-504). google scholar
  • Suleman, M. A., Qureshi, M. K. & Patt Y. N. (2008). Feedback-driven threading: power-efficient and high-per-formance execution of multithreaded workloads on CPMs. In Proceedings of the 13th International Confe-rence Architectural Support for Programming Language and Operating Systems (pp. 277-286). google scholar
  • Turing, A. (1950). Computing Machinery and Intelligence. Mind. Vol. LIX,?. 236. google scholar
  • Urma, R. G., Fusco, M., & Mycroft, A. (2014). Java 8 in Action: Lambdas, Streams, and functional-style prog-ramming. Manning Publications Co. google scholar
  • Wang, F. Y., Zhang, J., Wei, Q., Zheng, X., & Li, L. (2017). PDP: Parallel dynamic programming. IEEE/CAA Journal of Automatica Sinica, 4(1), 1-5. google scholar
  • Watt, C. (2018, January). Mechanising and verifying the WebAssembly specification. In Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs (pp. 53-65). google scholar
  • Watt, C., Rossberg, A., & Pichon-Pharabod, J. (2019). Weakening WebAssembly. Proceedings of the ACM on Programming Languages, 3(OOPSLA), 1-28. google scholar
  • Zakai, A. (2011, October). Emscripten: an LLVM-to-JavaScript compiler. In Proceedings of the ACM internatio-nal conference companion on Object oriented programming systems languages and applications companion (pp. 301-312). google scholar


PAYLAŞ




İstanbul Üniversitesi Yayınları, uluslararası yayıncılık standartları ve etiğine uygun olarak, yüksek kalitede bilimsel dergi ve kitapların yayınlanmasıyla giderek artan bilimsel bilginin yayılmasına katkıda bulunmayı amaçlamaktadır. İstanbul Üniversitesi Yayınları açık erişimli, ticari olmayan, bilimsel yayıncılığı takip etmektedir.