Другие статьи

Цель нашей работы - изучение аминокислотного и минерального состава травы чертополоха поникшего
2010

Слово «этика» произошло от греческого «ethos», что в переводе означает обычай, нрав. Нравы и обычаи наших предков и составляли их нравственность, общепринятые нормы поведения.
2010

Артериальная гипертензия (АГ) является важнейшей медико-социальной проблемой. У 30% взрослого населения развитых стран мира определяется повышенный уровень артериального давления (АД) и у 12-15 % - наблюдается стойкая артериальная гипертензия
2010

Целью нашего исследования явилось определение эффективности применения препарата «Гинолакт» для лечения ВД у беременных.
2010

Целью нашего исследования явилось изучение эффективности и безопасности препарата лазолван 30мг у амбулаторных больных с ХОБЛ.
2010

Деформирующий остеоартроз (ДОА) в настоящее время является наиболее распространенным дегенеративно-дистрофическим заболеванием суставов, которым страдают не менее 20% населения земного шара.
2010

Целью работы явилась оценка анальгетической эффективности препарата Кетанов (кеторолак трометамин), у хирургических больных в послеоперационном периоде и возможности уменьшения использования наркотических анальгетиков.
2010

Для более объективного подтверждения мембранно-стабилизирующего влияния карбамезапина и ламиктала нами оценивались перекисная и механическая стойкости эритроцитов у больных эпилепсией
2010

Нами было проведено клинико-нейропсихологическое обследование 250 больных с ХИСФ (работающих в фосфорном производстве Каратау-Жамбылской биогеохимической провинции)
2010


C использованием разработанных алгоритмов и моделей был произведен анализ ситуации в системе здравоохранения биогеохимической провинции. Рассчитаны интегрированные показатели здоровья
2010

Специфические особенности Каратау-Жамбылской биогеохимической провинции связаны с производством фосфорных минеральных удобрений.
2010

Выбор программной среды для обучения и разработки прикладных программ в вузе 

В статье рассматриваются вопросы эффективного обучения студентов языку программирования. Приводится пример простейшей программы на Java и Delphi, разбираются этапы создания программы.

Исследуем вопрос о том, какой программной среде лучше учить будущих разработчиков прикладного программного обеспечения в вузе. Обратимся к рейтингам языков программирования, приведенным на сайте  http://www.tiobe.com  и  http://www.eweek.com/.  Данные  рейтинги  показывают (на февраль 2012г.), что на первом месте находится Java – 17%, на втором C – 16%, на третьем C# – 9%, на 11 месте Delphi – 2%. Означает ли это, что на Java в 11 раз удобней и быстрее разрабатывать программы и другими средами можно пренебречь в обучении?

Рассмотрим, к примеру, задачу создания оконного приложения, рассчитывающего формулу «z=x/y», на Java и Delphi. 

Для разработки программы на Java и на Delphi необходимы следующие этапы:

 Для разработки программы на Java и на Delphi необходимы следующие этапы:

Рассмотрим теперь наглядность и сложность реализации поставленной задачи. Основной  код модуля программы на Java следующий: 

package demo; 

import java.awt.Dimension; import java.awt.Font; import java.awt.Rectangle; import java.awt.Toolkit;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DecimalFormat; import javax.swing.JButton;

import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextArea; 

public class Frame1 extends JFrame { private JButton jButton1 = new JButton();

private JTextArea jTextArea1 = new JTextArea(); private JTextArea jTextArea2 = new JTextArea(); private JTextArea jTextArea3 = new JTextArea(); private JLabel jLabel2 = new JLabel();

private JLabel jLabel3 = new JLabel(); private JLabel jLabel4 = new JLabel(); private JLabel jLabel5 = new JLabel(); 

public Frame1() { try { jbInit();

} catch (Exception e) { e.printStackTrace(); }

}

 

private void jbInit() throws Exception { this.getContentPane().setLayout(null); this.setSize(new Dimension(302, 216)); this.setTitle(«Простейшая программа на Java»); this.setResizable(false); 

jButton1.setText(«РЕШИТЬ»); jButton1.setBounds(new Rectangle(35, 100, 205, 40)); jButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { jButton1_actionPerformed(e);

} });

jTextArea1.setBounds(new Rectangle(95, 15, 140, 20));

jTextArea1.setFont(new Font(«Tahoma», 0, 12));

jTextArea2.setBounds(new Rectangle(95, 40, 140, 20));

jTextArea2.setFont(new Font(«Tahoma», 0, 12));

jTextArea3.setBounds(new Rectangle(95, 70, 140, 20));

jTextArea3.setFont(new Font(«Tahoma», 0, 12)); jTextArea3.setEditable(false); jLabel2.setText(«a=«);

jLabel2.setBounds(new Rectangle(40, 15, 34, 14)); jLabel3.setText(«b=«);

jLabel3.setBounds(new Rectangle(40, 40, 35, 15)); jLabel4.setText(«c=a/b»);

jLabel4.setBounds(new Rectangle(40, 65, 35, 15)); jLabel5.setText(«by Talipov SN, Pavlodar, 2012»); jLabel5.setBounds(new Rectangle(65, 155, 165, 15)); this.getContentPane().add(jLabel5, null); this.getContentPane().add(jLabel4, null); this.getContentPane().add(jLabel3, null); this.getContentPane().add(jLabel2, null); this.getContentPane().add(jTextArea3, null); this.getContentPane().add(jTextArea2, null); this.getContentPane().add(jTextArea1, null); this.getContentPane().add(jButton1, null);

private void jButton1_actionPerformed(ActionEvent e) {

// ОСНОВНОЙ КОД ПРОГРАММЫ

String a, b, c; // Строковые переменные Double x, y, z; // Вещественные переменные

a = jTextArea1.getText(); // Получение значения из окна 1 b = jTextArea2.getText(); // Получение значения из окна 2 try { // Начало защищенного блока

x = Double.parseDouble(a); // Преобразование текстового значения в вещественное y = Double.parseDouble(b); // Преобразование текстового значения в вещественное z = x / y; // Вычисление выражения

// Проверка на: 0/0, z/0

if ((Double.isNaN(z) == true) || Double.isInfinite(z) == true) {

throw new Exception(«error»); // Если нет решения, то генерирование ошибки

}

DecimalFormat df = new DecimalFormat(«#0.00»); // Описание формата вещественного числа c = String.valueOf(df.format(z)); // Преобразование числа в строку

jTextArea3.setText(c); // Вывод ответа в окошко

} catch (Exception ee) { // Обработчики ошибок защищенного блока Toolkit.getDefaultToolkit().beep(); // Звуковой сигнал

jTextArea3.setText(«Неверные данные!»); // Обработка ошибки ввода или вычисления

} // Конец защищенного блока

}

Рассмотрим аналог программы на Delphi: unit Demo;

interface 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; 

type

TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel;

Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton;

procedure Button1Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end;

 

var Form1: TForm1; implementation

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

// ОСНОВНОЙ КОД ПРОГРАММЫ

var x,y,z: real; // Описание переменных begin

try // Начало защищенного блока

x:=strtofloat(edit1.Text); // Получение значения x из окна 1 y:=strtofloat(edit2.Text); // Получение значения y из окна 1 z:=x/y; // Вычисление выражения edit3.Text:=formatfloat('#0.00',z);

except // Обработчики ошибок защищенного блока

edit3.Text:='Неверные данные!';// Обработка ошибки ввода или вычисления beep; // Звуковой сигнал

end; // Конец защищенного блока end; 

end. 

При сравнении двух программ получается, что на Java необходимо написать 353 слова-примитива, на Delphi - 116 слов, что более чем в 3 раза меньше. Выходит, что на Java в три раза больше текста в коде программы и в три раза больше этапов в создании готовой программы, причем в программе на Java больше слов-примитивов не из-за синтаксиса, а из-за сложности языка программирования. А если было бы необходимо решить задачу с использованием баз данных, то сложность различалась бы не в разы, а в десятки раз.

Какой же язык программирования предпочесть для реализации поставленной задачи? По быстроте написания, по простоте и предварительной подготовки программиста однозначно выигрывает Delphi из двух рассмотренных. По платформо-незавизимости и расширяемости – Java. Поэтому ограничивать будущих специалистов по программированию одним языком программирования, хоть и наиболее распространенным и передовым, представляется неверным и узким подходом, что может уменьшить количество программистов-практиков на рынке труда.

Разделы знаний

Архитектура

Научные статьи по Архитектуре

Биология

Научные статьи по биологии 

Военное дело

Научные статьи по военному делу

Востоковедение

Научные статьи по востоковедению

География

Научные статьи по географии

Журналистика

Научные статьи по журналистике

Инженерное дело

Научные статьи по инженерному делу

Информатика

Научные статьи по информатике

История

Научные статьи по истории, историографии, источниковедению, международным отношениям и пр.

Культурология

Научные статьи по культурологии

Литература

Литература. Литературоведение. Анализ произведений русской, казахской и зарубежной литературы. В данном разделе вы можете найти анализ рассказов Мухтара Ауэзова, описание творческой деятельности Уильяма Шекспира, анализ взглядов исследователей детского фольклора.  

Математика

Научные статьи о математике

Медицина

Научные статьи о медицине Казахстана

Международные отношения

Научные статьи посвященные международным отношениям

Педагогика

Научные статьи по педагогике, воспитанию, образованию

Политика

Научные статьи посвященные политике

Политология

Научные статьи по дисциплине Политология опубликованные в Казахстанских научных журналах

Психология

В разделе "Психология" вы найдете публикации, статьи и доклады по научной и практической психологии, опубликованные в научных журналах и сборниках статей Казахстана. В своих работах авторы делают обзоры теорий различных психологических направлений и школ, описывают результаты исследований, приводят примеры методик и техник диагностики, а также дают свои рекомендации в различных вопросах психологии человека. Этот раздел подойдет для тех, кто интересуется последними исследованиями в области научной психологии. Здесь вы найдете материалы по психологии личности, психологии разивития, социальной и возрастной психологии и другим отраслям психологии.  

Религиоведение

Научные статьи по дисциплине Религиоведение опубликованные в Казахстанских научных журналах

Сельское хозяйство

Научные статьи по дисциплине Сельское хозяйство опубликованные в Казахстанских научных журналах

Социология

Научные статьи по дисциплине Социология опубликованные в Казахстанских научных журналах

Технические науки

Научные статьи по техническим наукам опубликованные в Казахстанских научных журналах

Физика

Научные статьи по дисциплине Физика опубликованные в Казахстанских научных журналах

Физическая культура

Научные статьи по дисциплине Физическая культура опубликованные в Казахстанских научных журналах

Филология

Научные статьи по дисциплине Филология опубликованные в Казахстанских научных журналах

Философия

Научные статьи по дисциплине Философия опубликованные в Казахстанских научных журналах

Химия

Научные статьи по дисциплине Химия опубликованные в Казахстанских научных журналах

Экология

Данный раздел посвящен экологии человека. Здесь вы найдете статьи и доклады об экологических проблемах в Казахстане, охране природы и защите окружающей среды, опубликованные в научных журналах и сборниках статей Казахстана. Авторы рассматривают такие вопросы экологии, как последствия испытаний на Чернобыльском и Семипалатинском полигонах, "зеленая экономика", экологическая безопасность продуктов питания, питьевая вода и природные ресурсы Казахстана. Раздел будет полезен тем, кто интересуется современным состоянием экологии Казахстана, а также последними разработками ученых в данном направлении науки.  

Экономика

Научные статьи по экономике, менеджменту, маркетингу, бухгалтерскому учету, аудиту, оценке недвижимости и пр.

Этнология

Научные статьи по Этнологии опубликованные в Казахстане

Юриспруденция

Раздел посвящен государству и праву, юридической науке, современным проблемам международного права, обзору действующих законов Республики Казахстан Здесь опубликованы статьи из научных журналов и сборников по следующим темам: международное право, государственное право, уголовное право, гражданское право, а также основные тенденции развития национальной правовой системы.