Факультет ИСиТ Четверг, 09.07.2020, 04:26
Приветствую Вас Гость | RSS
[ Персональный раздел · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Факультет ИСиТ СыктГУ - Форум » Компьютеры / Интернет / Информационные системы и технологии » Программирование » Быдлософт на быдлоязыке C++ под Windows
Быдлософт на быдлоязыке C++ под Windows
eXceed Дата: Четверг, 13.01.2011, 07:58 | Сообщение # 1
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
Сегодня пришлось быдлокодить быдлософт на быдлоязыке C++ под Windows. После красивого и стройного ПРЫЩЕЛИНУКСА WinAPI кажется убогим гавном высранным марсианами. Почему? Да потому что функции принимают тысячи не документированных параметров из раздела "ох щи, это сильное колдунство", возвращают указатели, а не результаты, страдают отсутствием проверок на входные параметры. Да даже НАЗВАНИЯ функций бесят. Да у меня ZwAccessCheckByTypeResultListAndAuditAlarmByHandle от этого. Лол, типичное названия функции из WinAPI, не удивляйтесь. Говорите ПРЫЩЕЛИНУКС убог? Да там каждый чих имеет тысячи документации(практически нет колдунства), функции именуются коротко и ясно во всех библиотеках. Функции возвращают РЕЗУЛЬТАТ, а не указатель как в WinAPI(да, указатели на пустые структуры или структуры заполненные шлаком в венде норма жизни). Если взять тот же GTK+, то minwin с диалогом на нем делается быстрей, проще и понятней(создал окно, элементы, привязал обработчики), а в WinAPI тот еще гемор. Создай класс окна, к классу привяжи DC(ага, то где будем рисовать), привяжи курсоры, СОЗДАЙ ЭЛЕМЕНТЫ ОКНА так же как создал окно, обработчики(диспатчеры) функций создай, привяжи к элементу, сделай основной цикл окна. Как же это все тупо. M$ повернулась жопой к разработчикам. И вы действительно все еще считаете, что Windows это удобно?

bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.
 
tersus Дата: Четверг, 13.01.2011, 12:01 | Сообщение # 2
Профессор
Группа: СуперАктив
Сообщений: 2831
Награды: 0
Статус: Offline
eXceed, Windows это хороший заработок. Борьба с геморром будет всегда, M$ не даст умереть разработчикам.

Судьба даёт нам меньше, чем мы хотим, поэтому если просить мало, можно не получить вообще ничего.
 
eXceed Дата: Пятница, 14.01.2011, 10:18 | Сообщение # 3
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
tersus

Просто когда пару лет не вынимая пишешь под систему написанную программистами для программистов у тебя рождается чувство прекрасного. А когда после этого пробуешь программировать под систему написанную индусами для дебилов чувство прекрасного моментально исчезает и ты понимаешь, что пока ты с ней работаешь тебя тысячи индусов пялят в пердачелло =(


bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.
 
tersus Дата: Пятница, 14.01.2011, 12:25 | Сообщение # 4
Профессор
Группа: СуперАктив
Сообщений: 2831
Награды: 0
Статус: Offline
eXceed, Windows для терпел и барыг, а Linux для души. Если бы в мире не было перекосов, то лишних людей пришлось бы утилизировать. Сейчас уже пылесосы на Linux-е работают, Алкател в новые телефонные станции ставит Linux, даже в копирах крутится Linux. Ещё немного и Windowoза не станет, это был только костыль для переходного момента. Linux и web-сервисы будут рулить в дальнейшем.

Судьба даёт нам меньше, чем мы хотим, поэтому если просить мало, можно не получить вообще ничего.
 
Sanny Дата: Пятница, 14.01.2011, 13:35 | Сообщение # 5
Правдоборец
Группа: СуперАктив
Сообщений: 6171
Награды: 0
Статус: Offline
Опять начинаются бессмысленные разглагольствования на тему "линупс круче виндовз". Хотя сам предмет спора абсурден по определению, потому что сравниваются совершенно разные понятия. Это как с той задачкой о самолете на транспортере - некорректность формулировки создает благодатную почву для различия во мнениях. Все обсуждают отдельные технические моменты, но если взглянуть на картину в целом становится понятно, что спорить не о чем.

У меня есть план - выпить столько, сколько смогу. Отличный план!

Сообщение отредактировал Sanny - Пятница, 14.01.2011, 13:37
 
tersus Дата: Пятница, 14.01.2011, 14:25 | Сообщение # 6
Профессор
Группа: СуперАктив
Сообщений: 2831
Награды: 0
Статус: Offline
Sanny, Тут нет спора. Это текущий тренд (прости Господи за это слово). Windows приучил людей к интерфейсу. Сейчас медленно всё мигрирует к WWW представлению любой информации. WEB-сервисы это будущее. Облачные вычисления и серверы на базе UNIX-систем.

Какие перспективы у windows платформы в ближайшие 20 лет?

Какая ОС стоит на gmail.com?
Какая ОС стоит на вашем любимом мобильном телефоне?
Какая ОС стоит в новых холодильниках, стиральных машинах, телефонных станциях?

Как только кликабельность html сравняется с интерфейсом на локальной машине, так сразу все программы мигрируют в инет в облака и фермы. Нас ждет терминальное будущее. Это надежно, это энергобезопасно.

Можете кинут в меня камнем, если я не прав.


Судьба даёт нам меньше, чем мы хотим, поэтому если просить мало, можно не получить вообще ничего.
 
Sanny Дата: Пятница, 14.01.2011, 14:41 | Сообщение # 7
Правдоборец
Группа: СуперАктив
Сообщений: 6171
Награды: 0
Статус: Offline
Quote (tersus)
Нас ждет терминальное будущее. Это надежно, это энергобезопасно.

Самое забавное, что на самом деле это возврат в прошлое. Терминалы рулили на заре компьютерной эпохи, причем довольно долго. Массовый переход на персональные компьютеры пришелся на 90-е годы. Сейчас идет медленный возврат к мэйнфреймам.

Quote (tersus)
Какая ОС стоит на gmail.com?
Какая ОС стоит на вашем любимом мобильном телефоне?
Какая ОС стоит в новых холодильниках, стиральных машинах, телефонных станциях?

Ну начнем с того, что не существует такого понятия как операционная система Линукс. Есть огромное множество Unix-подобных операционных систем.

Quote (tersus)
Какие перспективы у windows платформы в ближайшие 20 лет?

20 лет слишком большой срок чтобы что то загадывать. Но я вижу как сейчас идет перелом идеологии линукс-сообщества в сторону идеологии MS, которая гласит примерно следующее: компьютеры должны думать* за человека, а не наоборот.

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


У меня есть план - выпить столько, сколько смогу. Отличный план!

Сообщение отредактировал Sanny - Пятница, 14.01.2011, 14:48
 
tersus Дата: Пятница, 14.01.2011, 15:07 | Сообщение # 8
Профессор
Группа: СуперАктив
Сообщений: 2831
Награды: 0
Статус: Offline
Quote (Sanny)
Есть огромное множество Unix-подобных операционных систем.

Точное замечание. Я тут популизмом занимаюсь.)))
Quote (Sanny)
Сейчас идет медленный возврат к мэйнфреймам.

Так и будем по кругу ходить. Такие уже мы человеки.
Quote (Sanny)
компьютеры должны думать* за человека, а не наоборот.

Согласен. Windows интерфейсы для пользователей, а внутренности как в Unix-системах. Согласен, что уже не будет видно где от windows, а где от unix (точнее posix стандартам).


Судьба даёт нам меньше, чем мы хотим, поэтому если просить мало, можно не получить вообще ничего.
 
eXceed Дата: Суббота, 15.01.2011, 12:15 | Сообщение # 9
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
Expert

Забавное название темы =)

tersus

А что ты имеешь ввиду под Windows интерфейсом? UI венды ничуть не лучше того же DE GNOME или KDE. А по свистоперделкам E17 делает вообще всех. Единственное чем выделяется Windows в плане интерфейса, дак это стандартизацией, т.к. библиотека едина. Но боже, как же инструменты разработки ущербны :3
И кстати. Delphi в этом плане на первом месте. Да, казалось бы при чем здесь IDE для школьников которая практически не котируется на рынке труда? На первом месте как инструмент разработки интерфейсов благодаря стандартизации всего и вся. Там весь вендовый АПИ завернут в тысячи классов. Вообще все подверглось стандартизации и оборачиванию в УДОБНЫЕ для использования класс с вменяемыми названиями методов. Чего не скажешь о голом WinAPI который вроде тоже как ООП, но упорот настолько, что MFC в Visual Studio является тяжелейшим наркотиком который рушит мозг своей черезжопной реализацией. Почитайте ради прикола как сделать minwin с окошком на MFC, а потом найдите какой нибудь hello, world с окошком на ассемблере. Сравните тупо количество строк кода и их понятность в плане а нафига это здесь.


bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.
 
eXceed Дата: Воскресенье, 16.01.2011, 03:27 | Сообщение # 10
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
Вот снова сижу и быдлокодю. Ладно. Продолжим. Давайте сравним то, что нам предлагает Windows и Linux. Задача простая: Берем язык продвигаемый компанией разработчиком ОС и пытаемся сделать программу которая сохраняет вам на диск указанную html страничку с интернетов. Голый html без картинок.
Используем только то, что есть в комплекте языка. inb4 Delphi должен выиграть за счет компонентной реализации. О нем я напишу позже.

C++

Code

#include <stdio.h>
#include <winsock2.h> // хедер с описанием wsa ф-ий

// для ms vc++6.0 и др - подключаем lib'у с импортами wsa ф-ий
#pragma comment( lib, "wsock32.lib" )

int main(int argc, char* argv[])
{
char request[1024*5]; // буффер под запрос
char response[1024]; // буффер под ответ
sockaddr_in s_a;
WSADATA wd; // структура WSADATA

WSAStartup( MAKEWORD( 2, 2 ), &wd ); // инициализируем wsa

SOCKET s = socket( AF_INET, SOCK_STREAM, 0 ); // создаем сокет
if (s == INVALID_SOCKET) return 255; // если ошибка - выход

s_a.sin_addr.s_addr = inet_addr( "111.22.33.44" ); // айпи сервера
s_a.sin_port = htons( 80 ); // порт сервера
s_a.sin_family = AF_INET;

if (connect( s, (struct sockaddr*)&s_a, sizeof( s_a ) ) == SOCKET_ERROR) return 255; // SOCKET_ERROR - невозможно подключится к сереверу

char url[] = "/"; // страница
char host[] = "example.ru"; // хост
// формируем запрос
sprintf( request, "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: Close\r\n\r\n", url, host );

send( s, request, strlen( request ), 0 ); // послать запрос
recv( s, response, 1023, 0 ); // максимум получить 1023 байта

printf( "%s\r\n", response ); // вывести ответ на экран

closesocket( s ); // закрываем сокет
WSACleanup(); // деинициализируем wsa

return 0;
}

Код нашел в интернете. Возможно есть более короткие и понятные реализации за счет выноса части кода за пределы main функции.

Python

Code

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys
import urllib

if (len(sys.argv) == 1) or (len(sys.argv) > 2):
       print "Usage: " + sys.argv[0] + " http://some.url"
       sys.exit

w = urllib.urlopen(sys.argv[1])
rp = w.read()
w.close()

file = open("1.html", 'w')
file.write(rp)
file.close()

Небольшой кусок кода из текущего проекта. Секция инициализации и сообщение о том, как это работает добавлены для законченности. Вдруг кто захочет опробовать.
Если не брать в расчет заголовок с import и сообщением о том, как это использовать, то код занимает 6 строк и интуитивно понятен. Беда в том, что первый вариант является стандартом в Windows, а второй в Linux для прикладного ПО.

Таким образом давайте попробуем сравнить инструментарий разработчиков из двух "противоборствующих" лагерей.


bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.

Сообщение отредактировал eXceed - Воскресенье, 16.01.2011, 03:35
 
eXceed Дата: Воскресенье, 16.01.2011, 03:33 | Сообщение # 11
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
Насчет Delphi. Сам по себе Delphi хороший и даже очень хороший. Такую-то библиотеку VCL хочет иметь КАЖДЫЙ язык. Настолько простой, настолько понятный. Его простоту и интуитивность оспорит только пожалуй Python. Даже не взирая на его упоротый компилятор и невменяемый линковщик. Знаете почему у Delphi в кругах программистов дурная слава? Да потому что туда набежало школия и рачья щелкающего клешнями машущего головогрудью. После недели любви с Delphi они начинали себя гордо именовать программистами при этом вообще не понимая в программировании нифига. Некоторые до сих пор не знают откуда у string ноги растут и т.д. Родилось поколение мышкоанонистов и кнопкошлепов. А так Delphi кошерен. Если бы он был еще бы и кроссплатформой с полноценным ООП и функциональщиной, то я бы с него не слез никогда.

bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.
 
eXceed Дата: Воскресенье, 16.01.2011, 11:26 | Сообщение # 12
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
Продолжу сравнивать.

Давайте посмотрим на исходный код программы под Windows рисующее одно окно без каких либо обработчиков. Код написан на WinAPI без визардов встроенных в студию. Алсо найден в интернетах, т.к. студии не имею.

Code

#include <windows.h>
LONG WINAPI WndProc(HWND, UINT, WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASS w;
memset(&w,0,sizeof(WNDCLASS));
w.style = CS_HREDRAW | CS_VREDRAW;
w.lpfnWndProc = WndProc;
w.hInstance = hInstance;
w.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
w.lpszClassName = "My Class";
RegisterClass(&w);
hwnd = CreateWindow("My Class", "My title", WS_OVERLAPPEDWINDOW,
300, 200, 200, 180, NULL, NULL, hInstance, NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

LONG WINAPI WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
switch (Message){
case WM_DESTROY:  
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, Message, wparam, lparam);
}
return 0;
}

Не слабо для просто окна которое не обрабатывает события :3

Сравним, что можно сделать под Linux на Python в примерно в том же размере. Далеко ходить не стал и взял с этого же форума сорс своей же программы.

Code

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

try:
  import os
  import sys
  import getopt
  import string
  import urllib
  import pygtk
  pygtk.require('2.0')
  import gtk
  import gtk.glade
   
except:
  print("Can't load some libs. Terminating program...")
  sys.exit(1)

BASE_URL = "http://weather.noaa.gov/pub/data/observations/metar/stations/"

def read_config():
   
  try:
   fh = open("metar.cfg", "r")
   ikao = fh.readline()
   fh.close ()
    
   ikao = ikao.strip("\n")
    
   return ikao
  except:
   print("Can't read cfg file. Program terminated...")
   sys.exit(1)

def get_metar(station):
   
     url = BASE_URL + (station + ".TXT")
      
     try:
         urlh = urllib.urlopen(url)
         for line in urlh:
             metar = line.strip()
         if not metar:
             metar = "!EMPTY!"
     except:
         print "Can't open requested METAR"
         sys.exit(1)    

     return metar
      
class App:

  def __init__(self):  
      
   self.gladefile = "ui.glade"
   self.widgetsTree = gtk.glade.XML(self.gladefile)
    
   dic = {
      "exit_button_clicked_cb" : self.close_app,
      "get_metar_clicked_cb" : self.refresh_metar
    }
    
   self.widgetsTree.signal_autoconnect(dic)
   self.window = self.widgetsTree.get_widget("main_dialog")
   self.metar_report = self.widgetsTree.get_widget("metar_report")
   self.metar_ikao = self.widgetsTree.get_widget("metar_ikao")
   if (self.window):
    self.window.connect("destroy", self.close_app)
    
   ikao = read_config()
    
   self.metar_ikao.set_text(ikao)
   self.metar_report.set_text("METAR REPORT FOR: " + get_metar(ikao))

  def close_app(self, widget):
   
   gtk.main_quit()
   
  def refresh_metar(self, widget):

   self.metar_report.set_text("METAR REPORT FOR: " + get_metar(self.metar_ikao.get_text()))

if __name__ == "__main__":
  App = App()
  gtk.main()

Если убрать пустые строки, то будет еще меньше. Да, форматирование кода еще не отменяли. И заметьте, что это приложение имеет не пустое окно и выполняет задачу быстрой доставки METAR для авиаманьяков. Вообщем разница в эффективности инструментария противоборствующих лагерей видна.


bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.
 
zhylik Дата: Воскресенье, 16.01.2011, 11:43 | Сообщение # 13
Специалист
Группа: СуперАктив
Сообщений: 146
Награды: 0
Статус: Offline
PS. В этих вопросах я некомпетентен, но поспорю. Если где ошибась, то сорри.
PSS. Твой пост от 11:26 вышел после того, как я написал етот.

Подожди, подожди, ты сравнил ж*пу с пальцем и сказал, что Виндовс хуже. Ты сравнил 2 абсолютно разных языка и сказал, что Виндовс хуже.

Пример той же задачи на шарпе: http://www.rsdn.ru/forum/dotnet/713160.flat.aspx . Убери классы, проверку и получи 7 строк кода. Хуже читается? Есть сокеты? Это не стандарт для программистов виндос, пишуших на шарпе?

Вот тебе загрузка странички в переменную на PHP (запись в файл аналогична питону):

Code
$html=file_get_contents("http://lala.com");

Питон транит 3 строки с камими-то опен-клозе каких-то rp и w. Зачем это надо? Почему нельзя написать в 1 строку? Получается питон хуже ПХП? Что за бред.

Как можно сравнивать сравнивать две абсолютно разные вещи, два языка разного уровня, и результат сравнения выливать по своему желанию в нужные тебе стороны?

Ты о питоне год назад знать не знал, писал для своих линупсов на том же c++ (сорри, если ошибаюсь) и строчил тут, что делфи-л*х и быдлокод. А тут питон уже стандарт (кстати, ткни меня носом где написано, что он стандарт), и делфи впринципе лапочка, если бы не некоторые моментики.

А ничего, что в том же билдере с++, производимой той же фирмой, что и делфи, те же компоненты и только язык отличается?
А ничего, что половина программ для этого твоего линуса написана на c++ иже сним?
А ничего, что эти же программы для этих же линупсов, также занимаются любовью с сокетами, если им надо что-то скачать с интернетика (ну или пользуются готовыми либами, которые делают то же самое)? Или их уже все переписали на питон?
А ничего, что на ассемблере та же программа займет у тебя миллион строк кода и десять лет разработки? или ассемблеры - фу?

Виндовс хуже, потому что в питоне динамическая типизация, а в спп ее нет??
Виндовс хуже, потому что в питоне есть декораторы, а в спп их нет??
Виндовс хуже, потому что при изучении питона о блямба-функциях узнаешь на десятой странице книги, а при изучении спп никогда??
Виндовс хуже, потому что в питоне блоки отбиваются пробелами и двоеточиями, а в спп скобочками??

И вообще смысл писать такие вещи тут? Тут что все программисты программ?


Ваня Жилин ("zhylik" читается как жулик))
 
zhylik Дата: Воскресенье, 16.01.2011, 11:50 | Сообщение # 14
Специалист
Группа: СуперАктив
Сообщений: 146
Награды: 0
Статус: Offline
Нокла получается со своим Qt Creator лузеры и ничего не понимают в программах, потому, что он для спп? Python + pygtk/pyqt нельзя запустить на винде?

upd.
Объясни вообще мне, тупому, зачем в 2011 году писать на чистом винапи, кроме как чтобы сделать свою первую оконную прожку, занимающую один байт, откомпилировав при этом код двадцатилетней давности?

И еще приведи, плиз код проги под линукс на питоне, который отрисует окно без ничего, и напишет в нем что-нибудь. Условие: не применять qt, gtk и аналогичные -- использовать только что-то встроенное в ОС, как винапи.


Ваня Жилин ("zhylik" читается как жулик))

Сообщение отредактировал zhylik - Воскресенье, 16.01.2011, 15:09
 
eXceed Дата: Воскресенье, 16.01.2011, 16:30 | Сообщение # 15
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
zhylik

Я сравниваю инструментарии разработчика(писал об этом выше), а не ЯП доступные на платформах. Python - стандарт для Linux уже давно, а C++ является стандартом на платформе Windows. Поэтому сравниваются именно они. C# доступный в Windows в расчет не берется, т.к. он не является для данной платформы платформообразующим языком.

Quote
Вот тебе загрузка странички в переменную на PHP (запись в файл аналогична питону):

Если бы PHP был платформообразующим языком для Windows и Linux систем затронул бы и его.

Quote
Питон транит 3 строки с камими-то опен-клозе каких-то rp и w. Зачем это надо? Почему нельзя написать в 1 строку? Получается питон хуже ПХП? Что за бред.

Тред не читал @ Сразу отвечал?

Quote
Ты о питоне год назад знать не знал, писал для своих линупсов на том же c++ (сорри, если ошибаюсь) и строчил тут, что делфи-л*х и быдлокод. А тут питон уже стандарт (кстати, ткни меня носом где написано, что он стандарт), и делфи впринципе лапочка, если бы не некоторые моментики.

На C++ и Пистоне писал достаточно много, чтоб понять приемущества последнего. Если ты не заметил, что туева хуча окружения прыщелинукса написана на пистоне. Фактически стандарт. Хотя какие стандарты могут быть у быдлоподелия кучи студентов, а? Да, дельфи был бы лапочкой если бы школе и рак перестал бы писать на нем и занялись программированием, а компания разработчик довела бы идею до конца, а не скатилась в сраное гавно со своими .net и WinForms.

Quote
А ничего, что в том же билдере с++, производимой той же фирмой, что и делфи, те же компоненты и только язык отличается?
А ничего, что половина программ для этого твоего линуса написана на c++ иже сним?
А ничего, что эти же программы для этих же линупсов, также занимаются любовью с сокетами, если им надо что-то скачать с интернетика (ну или пользуются готовыми либами, которые делают то же самое)? Или их уже все переписали на питон?
А ничего, что на ассемблере та же программа займет у тебя миллион строк кода и десять лет разработки? или ассемблеры - фу?

1. Причем здесь это? Или ты действительно не читал, что я писал выше? Мне плевать какой там язык. Мне важен доступные мне библиотеки, функционал, инструментарий. Пусть хоть брейнфак будет, но если он будет с таким же VCL как у дельфи, то я бы отдал предпочтение ему, а не MS VS с его кривым MFC.
2. Нет, мне плевать, что половина на Pure C или C++. Я не расист.
3. Для меня было бы откровением узнать, что сетевое взаимодействие по TCP/IP осуществляется при помощи **** силы и такой то матери, а не сокетов. Пример был приведен для того, чтоб показать наглядную разницу в том, что разработчику на Windows не имея сторонних библиотек оберток приходится делать для того, чтоб работать с сетью.
4. Пишу на ассемблере под Z80 и M68000. Зависимость есть, брат жив. Что я делаю не так?

Quote
Виндовс хуже, потому что в питоне динамическая типизация, а в спп ее нет??
Виндовс хуже, потому что в питоне есть декораторы, а в спп их нет??
Виндовс хуже, потому что при изучении питона о блямба-функциях узнаешь на десятой странице книги, а при изучении спп никогда??
Виндовс хуже, потому что в питоне блоки отбиваются пробелами и двоеточиями, а в спп скобочками??

И вообще смысл писать такие вещи тут? Тут что все программисты программ?

1. Нет. Виндовс хуже потому что инструменты разработки на C++ который является стандартом для этой платормы УБОГОЕ ГАВНО, а не язык.
2. Я помоему писал как запилить декораторы на C++. Да, на этом же форуме.
3. В C++ лямбды не нужны. Это не функциональный язык.
4. Мне все равно. Меня бы даже паскалевские begin end устроили.

Quote
И вообще смысл писать такие вещи тут? Тут что все программисты программ?

Как бы на этом форуме ребята с факультета ИНФОРМАЦИОННЫХ СИСТЕМ и ТЕХНОЛОГИЙ в котором есть божественная кафедра ПИЭ и не менее божественная КЗОИ. Ах да. Я же забыл. Вас учат использовать готовые решения.

Quote
Нокла получается со своим Qt Creator лузеры и ничего не понимают в программах, потому, что он для спп? Python + pygtk/pyqt нельзя запустить на винде?

Если бы ты попробовал использовать Qt Creator от Nokia, то понял бы, что их chaintools + SDK сделаны для людей, а не для индусов. Python + pygtk в венде? Ты не поверишь. Работает. Но не является стандартом на этой платформе.

Quote
Объясни вообще мне, тупому, зачем в 2011 году писать на чистом винапи, кроме как чтобы сделать свою первую оконную прожку, занимающую один байт, откомпилировав при этом код двадцатилетней давности?

Потому что разговор изначально зашел о стандартных системных библиотеках доступных в этих инструментах. Ты будешь удивлен, но все свистоперделки MFC/VCL являются оберткой для WinAPI.

Quote
И еще приведи, плиз код проги под линукс на питоне, который отрисует окно без ничего, и напишет в нем что-нибудь. Условие: не применять qt, gtk и аналогичные -- использовать только что-то встроенное в ОС, как винапи.

Эта задача говорит о том, что ты вообще не понимаешь как устроены Linux и Windows(ололо, как винапи. Ты вообще в курсе что это? Откуда взялся набор эти функций включая функции типа CreateWindow). Как можно нарисовать без ничего окно? У венды для этого библиотека GDI и WPF(сейчас набирает обороты), а прыщелинуксе это зависит от твоего DE. GTK+ в Gnome, Qt в KDE(Можно вообщем то использовать все вместе). А так же можно использовать чисто X сервер со всякими Tk и прочими WxWigets. Но скажи. Как рисовать что-то не пользуясь ничем? Если у венды отнять GDI, то чудесным образом исчезнет и функционал из WinAPI который экспортирует GDI.

Хотя тебя я покормлю. Зачем на пистоне, когда можно сделать средствами КОМАНДНОГО ИНТЕРПРЕТАТОРА?
Вот наглядный пример.

Code

#!/bin/bash
# Hello, World!
_zenity="/usr/bin/zenity"

${_zenity} --info \
             --text="Hello, World!"

Без всяких GTK+, как ты просил. Только то, что есть в поставке прыщелинукса.

Вот нотариально заверенные скриншоты.

Прикрепления: 4962641.jpg(284.9 Kb)


bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.

Сообщение отредактировал eXceed - Воскресенье, 16.01.2011, 16:32
 
zhylik Дата: Понедельник, 17.01.2011, 00:53 | Сообщение # 16
Специалист
Группа: СуперАктив
Сообщений: 146
Награды: 0
Статус: Offline
Quote (eXceed)
КОМАНДНОГО ИНТЕРПРЕТАТОРА

Ок. Показать возможности прожки по показу окошечек на просьбу кода как типа на http://ru.wikipedia.org/wiki/Xlib это ок. Признаю, что кодик по ссылке впринципе очень симпа.

Quote (eXceed)
Я сравниваю инструментарии разработчика

Нет, ты сравниваешь 2 языка программирования. Инструментарий=(язык+сист.либы)+либы+фреймворки и все прочее, что имеется на данный момент под рукой писателя. Если бы ты ставил задачу сравнить инструментарий, ты бы выдал табличку CodeGear RAD Studio 2009 C++ vs. PyGTK например. Если бы ты ставил задачу сравнить инструментарий, тыбы не сравнивал две программы по длине кода. А ты сравниваешь только кусок инструментария -- и, разумеется, более новый трендовый язык получается лучше.

Quote (eXceed)
C# доступный в Windows в расчет не берется, т.к. он не является для данной платформы платформообразующим языком

Это как так... ты взял и выкинул весь шарп и дотнет? А жава? жаву тоже выкинешь?

http://langpop.com/ -- первая табличка Normalized Comparison лжет?

по ней я вижу, что если из доли питона выкинуть долю веб-проектов типа джанги и оставить прожки, то он будет чуть больше шарпа, а до жавы, спп и с ему вообще как до камчатки. И это с его-то двадцатилетней историей. Получается это питон нифига не платформообразующий (ибо c++) и его можно "не брать в расчет". Или я не правильно вычитаю?

Quote (eXceed)
Python - стандарт для Linux уже давно

Давно это год? Стандарт?(для какого из миллионов линусов?) Кто сказал? Сообщество питон-программистов? О питоне активно начали говорить года полтора назад отсилы. Если я под линус напишу что-то на c++, я буду "нестандартен"?

Quote (eXceed)
ололо, как винапи. Ты вообще в курсе что это?

Зачем мне винапи, если на все нужные задачи под вин есть qtcreator? Чтобы написать низкоуровневый никому ненужный велосипед? Что можно сделать на винапи, чего нельзя сделать высокоуровневыми обертками? Хотя нет!!! мне в шестом билдере (он году в 2002 вышел наверно) понадобилось обработать перетаскивание файлов в окошко... Ой, хотя... там от винапи была 1 строка... ложная тревога.

Quote (eXceed)
MFC/VCL являются оберткой для WinAPI

я то думал, что там как-то по другому сделано...(( а вот оно как(

ПС. Питончик с джангой мне очень нра.


Ваня Жилин ("zhylik" читается как жулик))
 
eXceed Дата: Понедельник, 17.01.2011, 11:10 | Сообщение # 17
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
zhylik

Quote
Ок. Показать возможности прожки по показу окошечек на просьбу кода как типа на http://ru.wikipedia.org/wiki/Xlib это ок. Признаю, что кодик по ссылке впринципе очень симпа.

Ты же сказал, что в коде нельзя использовать библиотеки типа GTK+, Qt и иже с ними. Xlib в твое ограничение вписывается.

Quote
Нет, ты сравниваешь 2 языка программирования. Инструментарий=(язык+сист.либы)+либы+фреймворки и все прочее, что имеется на данный момент под рукой писателя. Если бы ты ставил задачу сравнить инструментарий, ты бы выдал табличку CodeGear RAD Studio 2009 C++ vs. PyGTK например. Если бы ты ставил задачу сравнить инструментарий, тыбы не сравнивал две программы по длине кода. А ты сравниваешь только кусок инструментария -- и, разумеется, более новый трендовый язык получается лучше.

Если бы я сравнивал два ЯП, то прошелся бы по из ОПП, синтаксису и прочему шлаку. Здесь я пока успел привести примеры того, что можно сделать используя возможности, назовем это термином stdlib, stdlib языков. Омг, ты вообще понял, что с чем сравнил? IDE с библиотекой GTK+. Погоди. Объясни, что ты подразумеваешь под словосочетанием ТРЕНДОВЫЙ ЯЗЫК?

Quote
Это как так... ты взял и выкинул весь шарп и дотнет? А жава? жаву тоже выкинешь?

Плтаформообразующие языки в нашем случае? Нет? Тогда нахрен их. Вот когда венду налабают на C# с набором софта, тогда и вспомним про него.

Quote
http://langpop.com/ -- первая табличка Normalized Comparison лжет?

по ней я вижу, что если из доли питона выкинуть долю веб-проектов типа джанги и оставить прожки, то он будет чуть больше шарпа, а до жавы, спп и с ему вообще как до камчатки. И это с его-то двадцатилетней историей. Получается это питон нифига не платформообразующий (ибо c++) и его можно "не брать в расчет". Или я не правильно вычитаю?

Пистон активно распространятся стал недавно. Хотя причем здесь популярность? Хаскелисты зарабатывают в разы больше, чем мертвые страусы например.

Quote
Давно это год? Стандарт?(для какого из миллионов линусов?) Кто сказал? Сообщество питон-программистов? О питоне активно начали говорить года полтора назад отсилы. Если я под линус напишу что-то на c++, я буду "нестандартен"?

Пистон был еще в Red Hat 6.2 и уже активно использовался для формирования окружения. А вышел он в начале 2000 года. Это ты узнал о языке полтора года от силы видимо с хабра или еще с какого говнобложика.

Если станешь писать прикладной софт на C++ в прыщелинуксе будешь извращенцем как минимум. Будешь трахатся с мемликами и трассировать, трассировать.

Quote
Зачем мне винапи, если на все нужные задачи под вин есть qtcreator? Чтобы написать низкоуровневый никому ненужный велосипед? Что можно сделать на винапи, чего нельзя сделать высокоуровневыми обертками? Хотя нет!!! мне в шестом билдере (он году в 2002 вышел наверно) понадобилось обработать перетаскивание файлов в окошко... Ой, хотя... там от винапи была 1 строка... ложная тревога.

QTCreator под Windows? OH SHI~ Ок, давай поговорим об MFC как стандарте продвигаемом M$. Куча бычьего навоза. Не находишь? Кстати писал с использованием MFC? Куда ты там без WinAPI уедешь? Даже диспатчер для своей формочки не сделаешь, лол.

Кстати если ты читал выше, то к VCL в Delphi я отношусь положительно(в билдере он же) и не удивительно, что ты не привык к WinAPI.

Quote
я то думал, что там как-то по другому сделано...(( а вот оно как(

ПС. Питончик с джангой мне очень нра.

Похоже думаешь, что как то по другому.

Да я сразу понял, что ты веб ориентированный, лол.

Вот тебе задачка. Сделай мне на C++ аналог вот такого

Code

print map(lambda a: a * 2, [1,2,3,4])

Ну или хотя бы замыкание на C++ продемонстрируй.
---
Кстати, пока разработчики на C++ спорят чем отличается char* s1 = "test"; от char s2[] = "test"; А я придумаю пару хитрых задач. Дак чем же отличаются?


bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.

Сообщение отредактировал eXceed - Понедельник, 17.01.2011, 11:20
 
eXceed Дата: Понедельник, 17.01.2011, 11:14 | Сообщение # 18
Профессор
Группа: СуперАктив
Сообщений: 5293
Награды: 0
Статус: Offline
Предлагаю все же обсудить инструментарий, а не какой язык когда вышел и где появился.

bda-expert.ru — это система форумов, где можно общаться быстро и свободно, где любая точка зрения имеет право на жизнь.
 
zhylik Дата: Понедельник, 17.01.2011, 16:05 | Сообщение # 19
Специалист
Группа: СуперАктив
Сообщений: 146
Награды: 0
Статус: Offline
Quote (eXceed)
Xlib в твое ограничение вписывается | Омг, ты вообще понял, что с чем сравнил?

я к сожалению не всегда могу выразить то, что хочу сказать, т.к. то о чем я говорю я не знаю. В сравнении с codegear (взял его как наиболее новую версию) я подразумевал наверно vcl (или что у них там сейчас).

Quote (eXceed)
ТРЕНДОВЫЙ ЯЗЫК

стильный МОДНЫЙ современный -- все на него смотрят и все говорят: "Питончик это настоящий котик, с ним я наконец-то программирую, с ним я творец! Питончиком же пользуется гугл! Лучшие сайты пишутся только на питоне! Он не позволяет г*внокодить"
Такая же фигня с Ruby (и ее веб-фреймворком Ruby On Rails - RoR): "раньше я программировал на PHP и только и делал что плакал, а сегодня я перешел на Ruby On Rails и за десять минут написал блог! Раньше я должен был запоминать порядок параметров в функции, но теперь у меня появились именованные параметры! Я со стопроцентной уверенностью заверяю, что уже завтра RoR захватит веб. Сегодня пока нет, но завтра - да! Вперееееед!". Это как реклама овощерезки на рекламных каналах.

Quote (eXceed)
Плтаформообразующие языки в нашем случае? Нет? Тогда нахрен их.

Ну извини конечно. Дотнет активно развивается (опять же посмотри на статистику в пред. сообщ). Боюсь приврать, но для винды дотнет с шарпом позволяет как минимум неглядя клепать риббоны (эти ленты-панели инструментов как в новых офисах и прогах на 7-ку), удобно работать с инетом.
Про жаву не знаю ничего, но сейчас открыл книжку Java 2, которую купил случайно спутав с JavaScript, а возвращать постеснялся -- вижу обертку AWT (advanced window toolkit) -- опять же можно заниматься формошлепством, опять же можно не писать на винапи. И судя по популярности, что-то мне подсказывает, что AWT сейчас не на уровне 90-х годов.

Quote (eXceed)
Вот когда венду налабают на C# с набором софта, тогда и вспомним про него.

Ммм. Ок. Ну тогда, когда хотя бы 60% прикладного софта под убунту например будет на питоне, тогда и вспомним про него.

Quote (eXceed)
Здесь я пока успел привести примеры того, что можно сделать используя возможности, назовем это термином stdlib, stdlib языков

Смысл сравнивать сист.либы (и ср*ть при этом виндовс)? Как и синтаксис, так и размер и "актуальность" стдлиб, а соотв. и удобство работы, у всего нового будет лучше чем у старого по определению. Но кому нужны только стандартные функции? Почему я должен пользоваться stl? Почему я не могу хотя бы boost прицепить и пользовать их smart_ptr например? Или мой компьютер программиста неожиданно аттестовали по ТБИ классом не меньше чем на 1В и отжали инет, сеть и поставили девайс лок?

Примеры с c++ и др. мне приводить сложно... Но например JavaScript, едиственный язык, который воспринимают браузеры, в стандартном наборе несет очень мало. И не приспособлен для удобной манипуляции с объектами DOM (дерево всех html-элементов, хранящееся в памяти браузера в виде объектов) -- поиск, удаление, замена, прикручивание эффектов, удобный AJAX (когда без перезагрузки окна можно сделать запрос серверу и получить ответ). Хоспади, в нем даже у массивов нет функции map -- push, pop delete, slice и длина -- кажется в нем можно максимум показывать сообщения с кнопочкой ОК. Но вдруг неожиданно появляется фреймворк jQuery и все меняется -- эффекты, плагины, люди строчат диалоги с кнопками, все мелькает, затеняется, все пишут сайты на AJAX-е, маппят массивы и многое другое. Wowow

А тут ты взял тютельку, сравнил ее с другим куском времен исуса христа и сделал вывод, что c++, а бонусом и винда г*вно. А потом еще тютельку шарпа не хочешь принимать в рассмотрение.

Возьми все имеющиеся в мире возможности и сравнивай лучшие из них.

Quote (eXceed)
Вот тебе задачка. Сделай мне на C++ аналог вот такого
print map(lambda a: a * 2, [1,2,3,4])
Ну или хотя бы замыкание на C++ продемонстрируй.

Это очень сложные технологии. Я о них не знаю. Пойду читать википедию, а пока напишу printf("%d", 30); и поставлю @todo.

Про MFC не знаю ничего. У меня с ним не сложилось. Я неосилил понять какую галочку надо поставить в настройках, чтобы не просилась эта библиотека из system32 "mv60...четотам", а встраивалась внутрь экзешника. Или осилил и встроил, но размер экзешника мне показался большим...

Quote (eXceed)
хабра или еще с какого говнобложика

Я читаю только хабр, бложик Миши Кукурузы, Румпумпума и тексты Герберта Уэллса(( Последние трое о питоне не знают...


Ваня Жилин ("zhylik" читается как жулик))
 
tersus Дата: Понедельник, 17.01.2011, 16:24 | Сообщение # 20
Профессор
Группа: СуперАктив
Сообщений: 2831
Награды: 0
Статус: Offline
Quote (eXceed)
А что ты имеешь ввиду под Windows интерфейсом?

Я про пользовательский интерфейс (кликабельность, расположение кнопок, менюшки, геометрия) Люди привыкли к нему за годы кликанья по мышке, так что большинство будет повторять данный интерфейс, если конечно яблочники не захватят мир. Те кто родились с коммуникатором и живут с ними круглые сутки, ещё не образуют главное течение в обществе. Борьба будет между междурожьем социальных сетей и виндовоза.

Борланд делал славные поделки, жаль что они не смогли дальше развивать продукт. У них тоже были недоразумения в компонентах, даже приходилось писать костыли на чистом виндовозном апи (ЖУТЬ СПЛОШНАЯ).

Согласен на счет того, что виндовс криво спроектирован. Про внутреннюю архитектуру виндовоза можно не одну горестную легенду рассказать. API конечно получился ущербным. Никсы в этом плане будут более совершенным продуктом. Побеждает не тот кто совершеннее, а кто быстрее выпустит свой продукт. Майкрософт офис покорил мир десктопов. Никсы захватили мир серверов.
---
На счет языков, то С++ позволяет писать говнокод, а Пайтон не позволяет этого делать. Главное, это скорость обучения и осознания философии языка. Пайтон тут выигрывает.


Судьба даёт нам меньше, чем мы хотим, поэтому если просить мало, можно не получить вообще ничего.

Сообщение отредактировал tersus - Понедельник, 17.01.2011, 16:29
 
Факультет ИСиТ СыктГУ - Форум » Компьютеры / Интернет / Информационные системы и технологии » Программирование » Быдлософт на быдлоязыке C++ под Windows
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:



Copyright bda-expert.ru © 2008-2020Хостинг от uCoz