• 제목/요약/키워드: A programming language comparison

검색결과 40건 처리시간 0.024초

새싹: 초보자를 위한 한글 객체 지향 프로그래밍 언어 (Saesark: A Korean Object-Oriented Programming Language for Beginners)

  • 천준석;우균
    • 한국콘텐츠학회논문지
    • /
    • 제16권3호
    • /
    • pp.288-295
    • /
    • 2016
  • 컴퓨터가 일상생활에 널리 사용됨에 따라 프로그래밍은 필수 기술로 떠오르고 있다. 프로그래밍 교육을 지원하기 위해서 우리나라는 2018년까지 프로그래밍 정규 과목을 개발할 계획을 추진하고 있다. 하지만 대부분의 프로그래밍 언어가 영어를 기반으로 하고 있기 때문에 우리나라의 프로그래밍 교육은 어려워지고 있으며 학생들도 집중력을 쉽게 잃을 수 있다. 이 논문에서는 우리나라 학생들의 프로그래밍 교육에 효과적인 한글 프로그래밍 언어 새싹을 제안하고 있다. 새싹은 Java를 바탕으로 개발하였으며, 객체지향 프로그래밍과 람다 식을 지원한다. 새싹의 교육 적합성을 평가하기 위해서 우리는 새싹을 다른 한글 프로그래밍 언어와 세 가지 측면에서, 즉 문법적 특성, IDE 지원, 한국어 오류 메시지 측면에서 비교하였다. 비교 결과, 새싹이 다른 한글 프로그래밍 언어보다 더 교육에 적합함을 알 수 있었다. 특히, IDE 기능과 한글로 출력되는 오류 메시지는 프로그래밍 초보자에게 도움이 많이 될 것으로 예상된다.

Benchmarking of BioPerl, Perl, BioJava, Java, BioPython, and Python for Primitive Bioinformatics Tasks and Choosing a Suitable Language

  • Ryu, Tae-Wan
    • International Journal of Contents
    • /
    • 제5권2호
    • /
    • pp.6-15
    • /
    • 2009
  • Recently many different programming languages have emerged for the development of bioinformatics applications. In addition to the traditional languages, languages from open source projects such as BioPerl, BioPython, and BioJava have become popular because they provide special tools for biological data processing and are easy to use. However, it is not well-studied which of these programming languages will be most suitable for a given bioinformatics task and which factors should be considered in choosing a language for a project. Like many other application projects, bioinformatics projects also require various types of tasks. Accordingly, it will be a challenge to characterize all the aspects of a project in order to choose a language. However, most projects require some common and primitive tasks such as file I/O, text processing, and basic computation for counting, translation, statistics, etc. This paper presents the benchmarking results of six popular languages, Perl, BioPerl, Python, BioPython, Java, and BioJava, for several common and simple bioinformatics tasks. The experimental results of each language are compared through quantitative evaluation metrics such as execution time, memory usage, and size of the source code. Other qualitative factors, including writeability, readability, portability, scalability, and maintainability, that affect the success of a project are also discussed. The results of this research can be useful for developers in choosing an appropriate language for the development of bioinformatics applications.

임베디드 소프트웨어의 에너지 효율성과 언어 변환 지원을 위한 코드 리팩토링 기법 확장 (Extension of Code Refactoring Technique to Support Energy Efficiency and Language Conversion of Embedded Software)

  • 남승우;홍장의
    • 융합정보논문지
    • /
    • 제8권2호
    • /
    • pp.91-103
    • /
    • 2018
  • 리팩토링은 기존 레거시 코드에 대한 품질을 확보하기 위한 공학적 기술로서, 프로그램의 기능은 변하지 않으면서 내부 구조를 개선하는 작업이다. 다양한 오픈 소스 소프트웨어가 재사용되면서, 기술적 이유 또는 시장 요구로 인하여 프로그래밍 언어 변환을 통한 소스 코드 재사용이 점진적으로 요구되고 있다. 이러한 상황에서 에너지 효율성을 고려하는 언어 변환 리팩토링 기법은 임베디드 소프트웨어 개발의 생산성은 물론 품질 향상을 위한 중요한 수단으로 여겨지고 있다. 본 논문에서는 기존에 제시된 에너지 절감형 리팩토링 기법에 추가하여 프로그래밍 언어의 문법 및 구조의 비교와 매핑을 통해 다른 언어로 변환하는 코드 리팩토링 기법을 제시하였다. 제안하는 리팩토링 기법의 활용은 소프트웨어 개발 언어의 환경변화에 대처하고, 기존 코드의 재사용을 높임으로써 신속한 소프트웨어 개발 및 품질 향상을 통한 제품의 경쟁력 향상을 기대할 수 있다.

Performance Comparison of Sensor-Programming Schemes According to the Shapes of Obstacles

  • Chung, Jong-In;Chae, Yi-Geun
    • International Journal of Internet, Broadcasting and Communication
    • /
    • 제13권3호
    • /
    • pp.56-62
    • /
    • 2021
  • MSRDS(Microsoft Robotics Developer Studio) provides the ability to simulate these technologies. SPL(Simple Programming Language) of MSRDS provides many functions for sensor programming to control autonomous robots. Sensor programming in SPL can be implemented in two types of schemes: procedure sensor notification and while-loop schemes. We considered the three programming schemes to control the robot movement after studying the advantages and disadvantages of the sensor notification procedure and the while-loop scheme. We also created simulation environments to evaluate the performance of the three considered schemes when applied to four different mazes. The simulation environment consisted of a maze and a robot with the most powerful sensor, i.e., the LRF(Laser Range Finder) sensor. We measured the required travel time and robot actions (number of turns and number of collisions) needed to escape the maze and compared the performance outcomes of the three considered schemes in the four different mazes.

프로그래밍 언어가 소프트웨어 복잡도에 미치는 영향에 관한 연구 : FORTRAN IV와 FORTRAN 77, PASCAL과 C의 비교 (A Study on the effects of programming Languages on Software Complexity : Comparison of FORTRAN IV vs. FORTRAN 77 and PASCAL vs. C)

  • 윤정모
    • 대한산업공학회지
    • /
    • 제19권3호
    • /
    • pp.59-70
    • /
    • 1993
  • This paper presents the results of experiments which compare the software complexity between programming languages, i.e, FORTRAN IV and FORTRAN 77, PASCAL and C language, respectively. Each experiment is performed to compare the complexity between programs of same problems using Halstead's method based on operator, and McCabe's based on data flow. As the results of 25 test programs experiments, FORTRAN 77 languages shows superiority to FORTRAN IV languages, and C than that of PASCAL languages, in the aspect of the global software complexity.

  • PDF

온라인 학습 환경에서 발생하는 파이썬 프로그래밍 오류 사례 분석 (A Case Study of Python Programming Error in an Online Learning Environment)

  • 정혜욱
    • 문화기술의 융합
    • /
    • 제7권3호
    • /
    • pp.247-253
    • /
    • 2021
  • 컴퓨터 프로그램 초보 학습자의 프로그래밍 실습과정에서 발생하는 프로그래밍 오류는 다양하다. 이때 학습자는 스스로 오류사항을 인지하기 어렵기 때문에 교수자의 피드백을 통해 프로그램 오류를 수정하게 된다. 그러나 최근 코로나19로 인해 온라인 환경에서 프로그래밍 기법을 학습하게 됨에 따라 오프라인 수업에 비해 교수자와의 상호작용에 한계가 있으므로 학습자 스스로 프로그래밍 오류를 해결하는 능력을 키울 필요가 있다. 이에 본 연구에서는 파이썬 언어를 이용한 온라인 프로그래밍 수업에서 발생된 학습자들의 오류 사례를 분석하고, 그 결과를 바탕으로 학습자의 프로그래밍 오류 수정 능력을 키워줄 수 있는 온라인 프로그래밍 교육 방안을 제시하였다.

정적 분석을 이용한 안전한 한글 프로그래밍 언어의 개발 (Development of Safe Korean Programming Language Using Static Analysis)

  • 강도훈;김연어;우균
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제5권4호
    • /
    • pp.79-86
    • /
    • 2016
  • 소프트웨어 보안 사고의 약 75%는 소프트웨어 취약점으로 인해 발생한다. 또한, 제품 출시 후 결함 수정 비용은 설계 단계의 수정 비용보다 30배 이상 많다. 이러한 배경에서, 시큐어 코딩은 유지 보수 문제를 해결하는 방법 중 하나로 제안되었다. 다양한 연구 기관에서는 소프트 웨어 보안 약점의 표준 양식을 제시하고 있다. 새로운 한글 프로그래밍 언어 새싹은 언어 수준에서 보안 약점 해결 방법을 제안하였다. 그러나 이전 연구의 새싹은 API에 관한 보안 약점을 해결하지 못하였다. 본 논문에서는 API에 의한 보안 약점을 해결하는 방법을 제안한다. 이 논문에서 제안하는 방법은 새싹에 위험한 메소드를 검사하는 정적 분석기를 적용하는 것이다. 위험한 메소드는 오염된 데이터 유입 메소드와 오염된 데이터 사용 메소드로 분류한다. 분석기는 위험한 메소드 탐색, 호출 그래프 구성, 호출 그래프를 바탕으로 유입 메소드와 사용 메소드간의 경로 탐색, 검출된 보안 약점 분석 순으로 4단계에 걸쳐 보안 약점을 분석한다. 이 방법의 효율성을 측정하기 위해 정적 분석기를 적용한 새로운 새싹을 이용하여 두 가지 실험을 실행하였다. 첫 번째 실험으로서 이전 연구의 새싹과 개선된 새싹을 Java 시큐어 코딩 가이드를 기준으로 비교하였다. 두 번째 실험으로써 개선된 새싹과 Java 취약점 분석 도구인 FindBugs와 비교하였다. 결과에 따르면, 개선된 새싹은 이전 버전의 새싹보다 15% 더 안전하고 개선된 새싹의 F-measure는 68%로써 FindBugs의 59%인 F-measure와 비교해 9% 포인트 증가하였다.

절차지향 및 객체지향 프로그래밍의 효과적 교육을 위한 웹 콘텐츠 개발에 관한 연구 (A Study on Development of Educational Web Contents for Procedural-Oriented and Object-Oriented Programming)

  • 서봉수
    • 한국콘텐츠학회:학술대회논문집
    • /
    • 한국콘텐츠학회 2006년도 추계 종합학술대회 논문집
    • /
    • pp.772-775
    • /
    • 2006
  • 현재 많은 대학의 학과 또는 전공에서 절차지향 프로그래밍 언어 및 객체지향 프로그래밍 언어 관련 과목이 개설되어 있지만, 이 두 개념을 비교하면서 서로의 차이점, 장단점을 뚜렷하게 이해할 수 있는 종합적인 과목은 없다. 본 논문에서는 절차지향적 프로그래밍 및 객체지향적 프로그래밍 기법을 비교 및 분석하고, 하나의 수업 상에서 동시에 이를 비교하고 실습을 진행할 수 있는 교과목 자료 및 관련 웹 콘텐츠를 개발하였다. 이를 통하여 각각의 프로그래밍 기법의 이해는 물론, 두 프로그래밍 기법의 장단점 파악 및 응용 활용 능력을 배양할 수 있도록 하였다.

  • PDF

프로젝트 위험요인 인식에 관한 비교 연구 - 정보시스템 구현 프로젝트에서 소프트웨어 패키지 적용과 순수 개발하는 경우 - (A Study on Perception of Project Risk Factor - Comparison between Software Package and Development with Program Language in Information System Project -)

  • 박송미;채명신
    • 한국정보시스템학회지:정보시스템연구
    • /
    • 제16권4호
    • /
    • pp.243-268
    • /
    • 2007
  • It is critical to manage risks to complete IS(Information Systems) projects successfully. Identifying risk factors would be the first step for the project risk management. Previous research has discussed the issue with various points of view, such as different risk factors based on project types and roles involved in their projects. This paper empirically explored how people perceive different risk factors by project development methodology, between self-developing IS using programming language like C, Visual Basic and adapting software package already developed by software venders like ERP, CRM packages. There are researches regarding project risk factors for project management in the several point of views. And there are also researches regarding comparison between self-developing and adapting software packages methodology in IS project. However, there are no study on project risk factors comparison between self-developing IS using programming language and adapting software packages already developed by software venders in IS project. This research can be differentiated from previous ones, because it was considered both point of project risk management and development methodology in IS project. This research results implied meaningful messages to enterprise company to be planned IS projects and people who involved in IS projects. They should consider and need to prepare differently according to each development methodology for preventing project risks. It makes them reduce project risks in each case and complete successfully IS projects. Especially, if they have no experiences for implementing software packages, they can forecast the project risks and prepare them in advance.

  • PDF

교구로봇을 활용한 프로그래밍 교육이 예비 초등교사의 학습동기 및 학업성취도에 미치는 영향 (The Effect of Programming Education Using Hands-on Robot on Learning Motivation and Academic Achievement of Prospective Elementary Teachers)

  • 양권우
    • 정보교육학회논문지
    • /
    • 제18권4호
    • /
    • pp.575-584
    • /
    • 2014
  • 최근 소프트웨어 교육의 중요성에 관한 인식이 확산됨에 따라 초등학생을 대상으로 하는 프로그래밍 교육 방법에 대한 연구가 활발히 진행되고 있다. 그러나 초등학교에서 프로그래밍 교육을 담당해야 할 교육대학교 재학생 대다수는 프로그래밍의 기본 원리에 대해 이해가 부족할 뿐만 아니라 프로그래밍 교육의 필요성에 관한 관심 또한 부족하다. 그래서 본 연구에서는 교구로봇을 활용한 프로그래밍 교육과 스크래치를 활용한 프로그래밍 교육이 예비교사들의 프로그래밍에 대한 학습동기와 학업성취도에 미치는 효과를 알아보았다. 교구로봇을 통한 프로그래밍 교육의 학습동기, 학업성취도와 스크래치를 통한 프로그래밍 교육의 학습동기, 학업성취도를 비교한 결과 교구로봇을 활용한 프로그래밍 교육이 학습동기와 학업성취도 측면에서 통계적으로 유의미한 차이가 있음을 알 수 있었다.