<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>2007-3283</journal-id>
<journal-title><![CDATA[Programación matemática y software]]></journal-title>
<abbrev-journal-title><![CDATA[Program. mat. softw.]]></abbrev-journal-title>
<issn>2007-3283</issn>
<publisher>
<publisher-name><![CDATA[Universidad Autónoma del Estado de Morelos]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2007-32832024000200206</article-id>
<article-id pub-id-type="doi">10.30973/progmat/2024.16.2/6</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Análisis del desempeño de C versus C++ en la producción multihilo de cadenas L-System: un caso de estudio ABP]]></article-title>
<article-title xml:lang="en"><![CDATA[Performance analysis of C versus C++ in multi-threaded production of L-System strings: a PBL case study]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Arellano Pimentel]]></surname>
<given-names><![CDATA[J. Jesús]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Toledo Toledo]]></surname>
<given-names><![CDATA[Guadalupe]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Basilo López]]></surname>
<given-names><![CDATA[Mario Andrés]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Salvador Nolasco]]></surname>
<given-names><![CDATA[José Ricardo]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Reyes Rodríguez]]></surname>
<given-names><![CDATA[Guillermo Eduardo]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pérez Sibaja]]></surname>
<given-names><![CDATA[José Alejandro]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[López Díaz]]></surname>
<given-names><![CDATA[Samuel Erasto]]></given-names>
</name>
<xref ref-type="aff" rid="Aff"/>
</contrib>
</contrib-group>
<aff id="Af1">
<institution><![CDATA[,Universidad del Istmo  ]]></institution>
<addr-line><![CDATA[Sto. Domingo Tehuantepec Oax.]]></addr-line>
<country>Mexico</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>00</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>00</month>
<year>2024</year>
</pub-date>
<volume>16</volume>
<numero>2</numero>
<fpage>60</fpage>
<lpage>72</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_arttext&amp;pid=S2007-32832024000200206&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_abstract&amp;pid=S2007-32832024000200206&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_pdf&amp;pid=S2007-32832024000200206&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Resumen La programación orientada a objetos en C++ facilita la codificación de algoritmos respecto al paradigma estructurado del lenguaje C, este hecho suele provocar un cuestionamiento válido entre los estudiantes ¿por qué codificar cadenas con memoria dinámica en C cuando los objetos String en C++ evitan ese trabajo? Este tipo de inquietudes permiten gestar casos de estudio de Aprendizaje Basado en Problemas (ABP). En el presente artículo se reporta el contraste de los lenguajes C y C++ a través de la generación multihilo de cadenas L-System usando computadoras personales a disposición de estudiantes de ingeniería en computación. Se realizaron cien corridas para el cálculo de tiempos promedio de ejecución para dos tipos de L-System considerando el procesamiento con balanceo y sin balanceo de carga para dos, cuatro y ocho hilos. Los resultados muestran una mayor velocidad de ejecución para el lenguaje C, pero diferencias interesantes en el Speed Up respecto al lenguaje C++. Al final se concluye que la mejor eficiencia se logra paralelizando con multihilos, siempre y cuando el volumen de los datos sea considerable y esté balanceado, además, la cantidad de hilos no debe rebasar el número de núcleos. Bien vale la pena que los estudiantes lleguen a estas conclusiones mediante el aprendizaje por descubrimiento a través de un caso de estudio.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Abstract Object-oriented programming in C++ facilitates the coding of algorithms with respect to the structured paradigm of the C language, this fact usually causes a valid question among students, why encode strings with dynamic memory in C when String objects in C++ avoid that work? These types of concerns allow the development of case studies of Problem-Based Learning (PBL). This paper reports the contrast of C and C++ languages &#8203;&#8203;through the multithreaded generation of L-System strings using personal computers available to computer engineering students. One hundred runs were made to calculate average execution times for two types of L-System considering balanced and unbalanced processing for two, four, and eight threads. The results show a higher execution speed for the C language, but interesting differences in the Speed &#8203;&#8203;Up compared to the C++ language. In the end, it is concluded that the best efficiency is achieved by parallelizing with multithreads, if the volume of data is considerable and balanced, and the number of threads should not exceed the number of cores. It is well worth it for students to reach these conclusions through discovery learning through a case study.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[ABP]]></kwd>
<kwd lng="es"><![CDATA[Lenguajes de programación]]></kwd>
<kwd lng="es"><![CDATA[L-Systems]]></kwd>
<kwd lng="es"><![CDATA[Procesamiento multihilo]]></kwd>
<kwd lng="en"><![CDATA[PBL]]></kwd>
<kwd lng="en"><![CDATA[Programming languages]]></kwd>
<kwd lng="en"><![CDATA[L-Systems]]></kwd>
<kwd lng="en"><![CDATA[Multi-threaded processing]]></kwd>
</kwd-group>
</article-meta>
</front><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Shoaib]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Sumail]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Sanjrani]]></surname>
<given-names><![CDATA[AA]]></given-names>
</name>
<name>
<surname><![CDATA[Ahmed]]></surname>
<given-names><![CDATA[AA]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Comparative Study of Contemporary Programming Languages in Implementation of Classical Algorithms]]></article-title>
<source><![CDATA[Journal of Information &amp; Communication Technology]]></source>
<year>2021</year>
<volume>14</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>23-32</page-range></nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="">
<collab>TIBOE</collab>
<source><![CDATA[TIOBE Index for June 2023]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Prusinkiewicz]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Lindenmayer]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[The Algoritmic Beauty of Plants]]></source>
<year>1990</year>
<publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[Springer-Verlag]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Savery]]></surname>
<given-names><![CDATA[JR]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Overview of Problem-based Learning: De&#64257;nitions and Distinctions]]></article-title>
<source><![CDATA[Interdisciplinary Journal of Problem-Based Learning]]></source>
<year>2006</year>
<volume>1</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>9-20</page-range></nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Diestra]]></surname>
<given-names><![CDATA[SN]]></given-names>
</name>
<name>
<surname><![CDATA[Apolaya]]></surname>
<given-names><![CDATA[JP]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Perfil de egreso en los estudiantes de ingeniería: aportes significativos de la metodología del Aprendizaje Basado en Problemas]]></article-title>
<source><![CDATA[SCIÉNDO]]></source>
<year>2021</year>
<volume>24</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>35-43</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Henriques]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Bernardino]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Performance of Memory Deallocation in C++, C# and Java]]></source>
<year>2018</year>
<conf-name><![CDATA[ 18va. Conferência da Associação Portuguesa de Sistemas de Informação (CAPSI&#8217;2018)]]></conf-name>
<conf-loc>Santarém, Portugal </conf-loc>
<page-range>1-18</page-range></nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bukie]]></surname>
<given-names><![CDATA[PT]]></given-names>
</name>
<name>
<surname><![CDATA[Udeze]]></surname>
<given-names><![CDATA[CL]]></given-names>
</name>
<name>
<surname><![CDATA[Obono]]></surname>
<given-names><![CDATA[IO]]></given-names>
</name>
<name>
<surname><![CDATA[Edim]]></surname>
<given-names><![CDATA[BE]]></given-names>
</name>
</person-group>
<source><![CDATA[Comparative Analysis of Compiler Performances and Program Efficiency]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ogala]]></surname>
<given-names><![CDATA[JO]]></given-names>
</name>
<name>
<surname><![CDATA[Ojie]]></surname>
<given-names><![CDATA[DV]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Comparative analysis of C, C++, C# and Java programming languages]]></article-title>
<source><![CDATA[Global Scientific Journals]]></source>
<year>2020</year>
<volume>8</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>1899-913</page-range></nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Brandefelt]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Heyman]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<source><![CDATA[A Comparison of Performance &amp; Implementation Complexity of Multithreaded Applications in Rust, Java and C++]]></source>
<year>2020</year>
<publisher-loc><![CDATA[Swedish ]]></publisher-loc>
<publisher-name><![CDATA[KTH Royal Institute of Technology,]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Plauska]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[Liutkevi&#269;ius]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Janavi&#269;i&#363;t&#279;]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Performance Evaluation of C/C++, MicroPython, Rust and TinyGo Programming Languages on ESP32 Microcontroller]]></article-title>
<source><![CDATA[Electronics]]></source>
<year>2023</year>
<volume>12</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>1-19</page-range></nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Restrepo]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Aprendizaje basado en problemas (ABP): una innovación didáctica para la enseñanza universitaria]]></article-title>
<source><![CDATA[Educación y Educadores]]></source>
<year>2005</year>
<volume>8</volume>
<page-range>9-19</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Arellano]]></surname>
<given-names><![CDATA[JJ]]></given-names>
</name>
<name>
<surname><![CDATA[Nieva]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Algredo]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<article-title xml:lang=""><![CDATA[Aprendizaje Basado en Proyectos Utilizando L-Systems en un Curso de Compiladores]]></article-title>
<source><![CDATA[Programación Matemática y Software]]></source>
<year>2013</year>
<volume>5</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>82-96</page-range></nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<collab>Microsoft</collab>
<source><![CDATA[Heap Functions. Windows app development documentation]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="">
<collab>Microsoft</collab>
<source><![CDATA[Acquiring high-resolution time stamps. Windows app development documentation]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="">
<collab>Microsoft</collab>
<source><![CDATA[Creating Threads. Windows app development documentation]]></source>
<year></year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
