Язык программирования PureBasic

niko
Offline
Зарегистрирован: 11.04.2014

Возможно не все знают что есть замечательный язык программирования - PureBasic.
Что в нем замечательного? А вот что: Он во первых не сложный и при этом достаточно мощный, что позволяет использовать PureBasic не только для обучения программированию, но и для разработки приложений, игр (встроенные 2D и 3D движки), библотек (dll и т. д.) и драйверов на профессиональном уровне. То есть PureBasic универсальный язык программирования с широкими возможностями.
PureBasic имеет кроссплатформенную IDE (Windows, Linux, MacOS X, AmigaOS как x86, так и x64, а также PowerPC), в которую входит редактор кода, редактор форм, компилятор и довольно мощный отладчик.
Для PureBasic написано много библиотек функций почти на все случаи. Например для работы с COM, USB и LPT портами компьютера.
И не обращайте внимание на слово "Basic". Это язык простоты бейсика и возможностей Си.
Еще одной особенностью PureBasic является то, что программы компилируются в native-код и не требуют среды исполнения (типа runtime или .NET Framework) что облегчает распространение программ. И при это размер исполняемых файлов не большой - от 2 КБ.

Скриншот IDE с запущенной программой.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Далеко не все знают что есть такой замечательный язык программирования с красивым названием Brainfuck

Отличается шикарным синтаксисом и прочей лабуденью. Вот простой пример вывода на экран знаменитого "Hello world!"

++++++++++
 [
  >+++++++>++++++++++>+++>+<<<<-
 ]                       
 >++.                    
 >+.                     
 +++++++.                
 .                       
 +++.                    
 >++.                    
 <<+++++++++++++++.      
 >.                      
 +++.                    
 ------.                 
 --------.               
 >+.                    
 >.                      
 +++.                    

 

И таки да, название полность соответствует простоте применения.

niko
Offline
Зарегистрирован: 11.04.2014

Какое отношение Brainfuck имеет к PureBasic?

Ваше сообщение вообще не в тему.

leshak
Offline
Зарегистрирован: 29.09.2011

А зачем еще один язык? Мало-ли что-ли бейсиков?

Возможно я предубежден (хотя сам с него начинал, еще с gw-basic) но в итоге осталось впечателние "портит мышление" (сейчас уже фактов не преведу, смутно помню. но вот такой "вердикт" для себя - тогда вынес).

А если выкинуть из него все "портящие", так что там от Basic останется? Еще один C подобный, но с нетрадиционным синтаксисом язык?

Если уже брать "учебный язык", так хотя-бы Pascal. Который в качестве "учебного" и разрабатывался (вот "уход от него", оставил воспоминания "читабельность у него выше"). Хотя, когда глаза "притерлись" к скобочкaм, так и C/C++ уже читается не хуже ;)

Вообщем сугубо IMHO, но Basic нужен в двух случаях:

1. Если вы програмите под Office (тут особо выбора MS нам не оставила, "исторически так сложилось", так что "жевать этот кактус до конца"). Но тогда нужен именно VBA, а не PureBasic
2. Если вы престарелый учитель информатики. Который до пенсии хочет ездить по "накатанной колее" и ему фиолетово где и как его ученики будет применять полученные знания.

leshak
Offline
Зарегистрирован: 29.09.2011

JollyBiber пишет:

Далеко не все знают что есть такой замечательный язык программирования с красивым названием Brainfuck

Кстати для ардуино есть интерпретатор http://www.xappsoftware.com/wordpress/2011/10/02/brainfuck-for-arduino/

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

niko пишет:

Какое отношение Brainfuck имеет к PureBasic?

Ваше сообщение вообще не в тему.

Brainfuck имеет такое же отношение к PureBasic как и PureBasic к Ардуино ;)

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

JollyBiber пишет:

Brainfuck имеет такое же отношение к PureBasic как и PureBasic к Ардуино ;)

Эх, не дали человеку развернуть весь свой потенциал...

Может он собирался спортить этот замечательный во всех отношениях (и недорогой) язык - на ардуину...

niko
Offline
Зарегистрирован: 11.04.2014

Разве не приходилось подключать Ардуино к компу? Программу нужно на чем-то писать. Вы это не сделаете в среде разработки Arduino.
PureBasic позволяет работать с портами COM, USB и LPT.

leshak
Offline
Зарегистрирован: 29.09.2011

JollyBiber пишет:

niko пишет:

Какое отношение Brainfuck имеет к PureBasic?

Ваше сообщение вообще не в тему.

Brainfuck имеет такое же отношение к PureBasic как и PureBasic к Ардуино ;)

А раздел-то называется "отвлеченные темы". Так что если подходить "строго формально", то

1. Топик стартер - ничего не нарушил. Абсолютно правильно выбрал раздел. Подумал перед тем как заводить тему. 
2. Он, как "топик стартер" - определил "о чем эта тема". И задал вам вполне логичный вопрос "какое отношение имеет брейнфак к заданной мной теме?".

Так что ... отмазка "PureBasic не имеет отношения к арудине" - не прокатывает. 1-0, в пользу топикстартера ;)

А про брейнфаки и проч. эзотерику мы слышали. Брейнфак уже давно "не самый вывих ума". Вот вам hello world, спрашивающий имя пользователя и выводящий Hello [Name]


Ask the user for their
name. Then say hello.	 	    
		    	
   		 		  
		    	 
   		  	 	
		    		
   		    	
		    	  
   			  		
		    	 	
   		  	 	
		    		 
   	     
		    			
   		  	 	
		    	   
   		 			 
		    	  	
   			 	  
		    	 	 
   		  	 	
		    	 		
   			  	 
		    		  
   	     
		    		 	
   				  	
		    			 
   		 				
		    				
   			 	 	
		    	    
   			  	 
		    	   	
   	     
		    	  	 
   		 			 
		    	  		
   		    	
		    	 	  
   		 		 	
		    	 	 	
   		  	 	
		    	 		 
   			 	 
		    	 			
   	     
		    		   
    
		    				 
   	  	   
		    					
   		  	 	
		    	     
   		 		  
		    	    	
   		 		  
		    	   	 
   		 				
		    	   		
   	     
		    	  	  
    
		     

 	 			 			 			  	  		 	  	 			 	   		  	 	
   		  	  

 	 			  	  		  	 	 		    	 		  	  
   				 

 	 			 			 			  	  		 	  	 			 	   		  	 	
   		  	  

 	 			 			 			  	  		 	  	 			 	   		  	 	

 	 		 			  		  	 	 			 			 		 		   		 	  	 		 			  		  	 	




   		    	 		  	   		  	  
	   
	

   			 			 			  	  		 	  	 			 	   		  	 	
 
 			 
 
	  			 			 			  	  		 	  	 			 	   		  	 	 	 					 		  	 	 		 			  		  	  
	
     	
	   
 
 			 			 			  	  		 	  	 			 	   		  	 	

   			 			 			  	  		 	  	 			 	   		  	 	 	 					 		  	 	 		 			  		  	  
 

 


	

   			  	  		  	 	 		    	 		  	  
 
  
 	
	 			 
    	 	 
	  	
	  			  	  		  	 	 		    	 		  	   	 					 		  	 	 		 			  		  	  
 

   	
	   
 
 			  	  		  	 	 		    	 		  	  

   			  	  		  	 	 		    	 		  	   	 					 		  	 	 		 			  		  	  
 

   	
	       
		 
	

   		 			  		  	 	 			 			 		 		   		 	  	 		 			  		  	 	
   	 	 
   		 	
	
  	
  
	

 

Мне кажется брейнфак, в этом отношении "эталон читаемости" :)

P.S.Вот бы кто сделал компилятор prolog для AVR :) Это была бы сила

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

leshak пишет:

А раздел-то называется "отвлеченные темы". Так что если подходить "строго формально", то

1. Топик стартер - ничего не нарушил. Абсолютно правильно выбрал раздел. Подумал перед тем как заводить тему. 
2. Он, как "топик стартер" - определил "о чем эта тема". И задал вам вполне логичный вопрос "какое отношение имеет брейнфак к заданной мной теме?".

Так что ... отмазка "PureBasic не имеет отношения к арудине" - не прокатывает. 1-0, в пользу топикстартера ;)

Стареете уважаемый :), ну или может авитаминоз, как у меня, весенний ;)

Я предложил ТС альтернативу - чем поддержал его тему. Если Вы загляните в большинство топиков, то там будет заметно что ТС-ам (почти) всегда предлагают альтернативу. Так что 1-0 "не канает" :)

Назовите мне хоть одно действительное преимущество этого яыка?

leshak
Offline
Зарегистрирован: 29.09.2011

JollyBiber пишет:

Я предложил ТС альтернативу - чем поддержал его тему. Если Вы загляните в большинство топиков, то там будет заметно что ТС-ам (почти) всегда предлагают альтернативу. Так что 1-0 "не канает" :)

Ну вот теперь - похоже на "1-1". "альтернатива предложенному в старте" - это можно признать "доводом", в отличае от "PureBasic не имеет отношения к ардуине".

Но... если вдуматься, то все-таки "2-1", в пользу топикстартера. Так как он привел еще один "довод": можно читать данные из компорта (работать с той же ардуиной). И, хоть и не люблю бейсик, но могу вообразить кому это может понадобится (людей которые "я в школе бейсик учил" - не так уж и мало), а вот с брейнфак как быть?

Так что ждем от вас пример чтения и парсинга строки из ком-порта на брейнфаке ;) Уж если сравнивать альтернативы - значит сравнивать.

niko
Offline
Зарегистрирован: 11.04.2014

leshak пишет:
Я предложил ТС альтернативу - чем поддержал его тему.
Я просил предлагать альтернативу? Если хотели рассказать об Brainfuck, то могли же создать отдельную тему для него. Можете так и сделать и там обсудим все "прелести" кодинга на этом простом ЯП.

leshak пишет:
Назовите мне хоть одно действительное преимущество этого языка?
Преимущество PureBasic по сравнению с чем? С Brainfuck? О, преимущество у PureBasic очень значительное. Достаточно только упомянуть что PureBasic это используемый в разработке ЯП, а Brainfuck эзотерический. Если не согласны, то напишите на Brainfuck простое приложение, которое открывает окно с текстовой надписью. Причем именно окно, а не консоль. Аналогичная программа на PureBasic показана на скрине в начале темы. Теперь ждем от вас такую же прогу на брейнфаке.

Клапауций
Offline
Зарегистрирован: 10.02.2013

niko пишет:

С каких пор оффтоп считается альтернативой?

с сего момента - назначаю офтоп самой альтернативной альтернативой.

*какие ещё аргументы?

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

niko пишет:

Я просил предлагать альтернативу?

Так Вы хвастались что открыли для себя этот ЯП? Тогда конечно другое дело! Я по неразуменя думал что это форум, а не уютная ЖЖ-шечка где надо спрашивать разрешения написать в пост.

niko пишет:

Если хотели рассказать об Brainfuck, то могли же создать отдельную тему для него. Можете так и сделать и там обсудим все "прелести" кодинга на этом простом ЯП.

Зачем? Вы можете прочитать все про него в Вики.

niko пишет:

Преимущество PureBasic по сравнению с чем? С Brainfuck? О, преимущество у PureBasic очень значительное. Достаточно только упомянуть что PureBasic это используемый в разработке ЯП, а Brainfuck эзотерический. Если не согласны, то напишите на Brainfuck простое приложение, которое открывает окно с текстовой надписью. Причем именно окно, а не консоль. Аналогичная программа на PureBasic показана на скрине в начале темы. Теперь ждем от вас такую же прогу на брейнфаке.

Я не пишу приложения на экзотических языках :) Предпочитаю Java

Просвятите меня - какие известные программы написаны на этом бэйсике? И раз уж на то пошло, в чем у него преимущество перед явой или с++. Предвещая аргумент что не нужна ВМ - как я буду запускать это на своем маке?

niko
Offline
Зарегистрирован: 11.04.2014

JollyBiber пишет:
Зачем? Вы можете прочитать все про него в Вики.
Т. е. признаете что написали о Brainfuck только для того чтобы за**ать тему?

JollyBiber пишет:
Просвятите меня - какие известные программы написаны на этом бэйсике?
Конструктор инсталляторов. http://www.bytessence.com/bim.html
Оптимизатор реестра. http://www.bytessence.com/brc.html
Дрова на PureBasic. http://purebasic.mybb.ru/viewforum.php?id=18
Торрент клиент, чем что похожий на µTorrent. http://pbtorrent.ucoz.ru/load/pbtorrent_1_4_4/1-1-0-7

JollyBiber пишет:
Предвещая аргумент что не нужна ВМ - как я буду запускать это на своем маке?
Будет работать без ВМ и знаете почему? Код компилируется в натив.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

niko пишет:
PureBasic позволяет работать с портами COM, USB и LPT.

давайте найдем проект в котором просто необходимо подключение ардуины к компу через названые вами интерфейсы... просто прям вот ну никак без них не обойтись...

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

niko пишет:

Т. е. признаете что написали о Brainfuck только для того чтобы за**ать тему?

Вы так и не поняли моего ответа? Жаль... Хотя нет ;)

niko пишет:

Конструктор инсталляторов. http://www.bytessence.com/bim.html

Оптимизатор реестра. http://www.bytessence.com/brc.html

Дрова на PureBasic. http://purebasic.mybb.ru/viewforum.php?id=18

Торрент клиент, чем что похожий на µTorrent. http://pbtorrent.ucoz.ru/load/pbtorrent_1_4_4/1-1-0-7

Будет работать без ВМ и знаете почему? Код компилируется в натив.

1 и 2 - веский аргумент, там только Вашего "Хелло ворлд" не хватает для полного комплекта

3 - подозреваю что Пётр это Вы ;)

4 - солилдный аргумент. Тут даже возразить нечего. Хотя.... "Просмотров: 2830 | Загрузок: 0| Рейтинг: 5.0/2" Но это наверняка ошибка компилятора выдачи, но мы это простим, ведь он наверняка тоже написан на великом PureBasic!

Код компилируется в натив на любую ос? Это же прорыв и революция в программировании!

 

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Puhlyaviy пишет:

niko пишет:
PureBasic позволяет работать с портами COM, USB и LPT.

давайте найдем проект в котором просто необходимо подключение ардуины к компу через названые вами интерфейсы... просто прям вот ну никак без них не обойтись...

Если Вы такой умный, то напишите "окошко с Хеллоу Ворлд" для Ардуино без ПурэБэйсик!

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

JollyBiber пишет:

Если Вы такой умный, то напишите "окошко с Хеллоу Ворлд" для Ардуино без ПурэБэйсик!

что бы ардуино мне в компорт открывало окошко и туда кричало ЗДОРОВА МИР?

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Puhlyaviy пишет:

что бы ардуино мне в компорт открывало окошко и туда кричало ЗДОРОВА МИР?

Копай глубже - оно должно открывать окно в кухне и облаками выводить надпись

Клапауций
Offline
Зарегистрирован: 10.02.2013

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

о наконец то, тема сисек раскрыта.. теперь ветку можно закрывать.

Клапауций
Offline
Зарегистрирован: 10.02.2013

любой язык становится лучше, если ега програть через гугл-транслейт... и, непонятнее.

*чукча не программист - чукча статьи переводит для своего говносайта:

/ / Инициализировать часы переменные 
m_lastTick = 0; 
SetTime (0, 0, 0); 
} 

/ / Подпрограмма цикл выполняется снова и снова навсегда 
недействительными петля () 
{ 
/ / Посмотреть, если мы устанавливаем время, или позволить течение времени обычно 
если (m_inTimeSetMode) 
{ 
getTimeFromPots (); 
} 
еще 
{ 
установите (); 
} 

/ / Теперь, что время было обновлено, показывают время 
displaySeconds (); 
displayMinutes (); 
displayHours (); 

/ / Произвольное задержки, чтобы мы не обрабатывает от 100% времени, 
/ / Акт энергосбережения 
задержка (DELAY_BETWEEN_LOOP_CALLS); 
} 

/ ** 
* Вспомогательный метод для установки m_second, m_minute и m_hour. 
* / 
недействительными SetTime (байт newHour, байт newMinute, байт newSecond)
{ 
m_second = newSecond; 
m_minute = newMinute; 
m_hour = newHour; 
} 

/ ** 
* Этот метод отслеживает логического потока времени. Если достаточно времени имеет 
* Прошло с момента последнего его называли, m_second, m_minute и m_hour 
* Будут обновлены необходимости. При этом учитывается, что Millis () рулоны 
* Более примерно каждый 50 дней. 
* / 
недействительными тики () 
{ 
неподписанных долгое теперь = Millis (); 
неподписанных долгое msElapsed; 

/ / Сначала мы должны выяснить, сколько времени прошло с момента последнего мы 
/ / Называется тик () 
если (сейчас <m_lastTick) 
{ 
/ / Вздох, либо нам удалось путешествие назад во времени, или Millis () обернут вокруг! 
msElapsed = (MAX_UNSIGNED_LONG - m_lastTick) + теперь; 
} 
еще 
{ 
msElapsed = сейчас - m_lastTick; 
} 

/ / За каждую секунду, что прошел (надеюсь только 1, если наш код на самом деле тормозит), 
/ / Добавить 1 секунду времени, и увеличить минут & часов, если это необходимо. 
для (INT = 0; я <msElapsed / ONE_SECOND; + + я) 
{ 
m_lastTick = m_lastTick + ONE_SECOND; 

+ + M_second; 
если (m_second == 60) 
{ 
m_second = 0; 
+ + M_minute; 
если (m_minute == 60) 
{ 
m_minute = 0; 
+ + M_hour; 
если (m_hour == 24) 
{ 
m_hour = 0; 
} 
} 
} 
} 
} 

недействительными displaySeconds () 
{ 
/ / TODO контролировать аналоговый дисплей 
} 

 

toc
Offline
Зарегистрирован: 09.02.2013

>> Возможно я предубежден (хотя сам с него начинал, еще с gw-basic)

а я начинал с sinclair/спектрум бейсика.