Большой передел мира
245,582,321 498,971
 

  Удаленный пользователь
22 июн 2017 17:47:29

Индия – Китай – США: есть ли третий лишний?

новая дискуссия Статья  392

Похоже, у полусонного гиганта в драных башмаках-падуках, в тюрбане и с безмятежной улыбкой на устах, каким досужие журналисты долгое время рисовали Индию, меняется выражение лица. Об этом говорит многое: и то, что со своею сотней миллиардеров, обладающих совокупным состоянием в 190 миллиардов долларов, страна вышла на пятое место в мире по числу богатеев; и то, что за год в десятку лучших и наиболее быстро развивающихся азиатских компаний ворвались сразу три индийских – HCL Technologies и Tata Consultancy Services, работающие в сфере информационных технологий, а также телевизионная корпорация Zee Entertainment Enterprises, имеющая 35 каналов вещания в Индии и ещё 169 странах.
Как сообщает экономическое обозрение Asia Nikkei, данные азиатских фондовых бирж однозначно указывают на то, что экономика Индии сегодня более динамична, чем даже китайская, которая после финансового кризиса 2008 года вышла на позиции флагмана мировой экономики. 


Nikkei пишет, что сокращение влияния США в Азии и вызываемые этим опасения стали предметом обсуждения на проходившей 5-6 июня в Токио 23-й Международной конференции «Будущее Азии». Отказ США с приходом администрации Трампа от Транстихоокеанского партнерства (TTP) заставляет  задумываться, каким будет завтра Азиатско-Тихоокеанского региона.  В Токио не прочь спасти TTP, заняв в этом партнёрстве место США,  однако многие страны Южной и Юго-Восточной Азии не собираются  строиться в колонну ни за Соединёнными Штатами, ни за Японией. Индия в том числе: ни размерностью этой державы с населением 1,3 млрд человек, ни финансовыми показателями ведущих индийских компаний вроде Reliance Industries и Maruti Suzuki India конфигурация «в колонну за кем-то» не предполагается. А индийское правительство, разочарованное в совместном с американцами атомном проекте, уже приняло решение о создании десяти собственных атомных реакторов; речь идёт о крупнейшем в мире атомном проекте после Фукусимы, который вводит Индию в клуб государств, успешно развивающих ядерную энергетику (Россия, Китай, Южная Корея). Разумеется, пишет Asia Nikkei , «родившийся в энергетике доморощенный план  даст толчок всей атомной промышленности Индии».

Есть пять возможностей роста, пять движущих сил, быстро выводящих экономику Индии на орбиту глобального лидерства, считают эксперты McKinsey Global Institute (MGI) – ведущего в мире «думающего танка»,  занятого исследованиями процессов глобализации. Особенно специалисты MGI выделяют урбанизацию: те же процессы, которые в своё время привели в Европе к созданию мощной промышленности, росту банковского капитала, двинули вперёд науку и технологии, переживает сейчас Индия. Стремительная урбанизация вызывает бурный рост потребления. Шутка сказать, только один из 29 штатов Индии – Махараштра, - взятый отдельно, стал бы семнадцатой по численности населения страной в мире, почти не уступая в этом 82-миллионной Германии. Соответственно, растут доходы компаний, обслуживающих всё новых потребителей, получающих доступ к потребительскому рынку – не только к супермаркетам, конечно, но и к медицине, образованию, бизнесу.

Рост доходов населения вливает кровь в этот экономический конвейер. Так называемый средний класс, на доходы которого ориентируется всякий производитель товара или услуги, к 2025 году в Индии утроится, считают эксперты MGI, и будет насчитывать 89 миллионов домохозяйств. Соответственно, будут расти их расходы. Страна, начавшая двадцать пять лет назад экономические реформы, через семь лет, по прогнозам MGI, станет одним из главных двигателей мировой экономики и выйдет на третье место по ВВП после Китая и США.

Такое будущее подогревает интерес не только собственных, но и зарубежных инвесторов. «Лучшие из индийских компаний получают в год от 20 до 30 процентов прибыли. Некоторые из индийских банков растут по 20 процентов в год уже в течение 20 лет, – утверждают исследователи MGI. – Вы должны построить правильную модель бизнеса в соответствии с существующими здесь большими возможностями…  Если вы начнете бизнес правильно, вы будете расти не на 7, а на 25 до 30 процентов в год». Кстати, 7 процентов – это рост индийского ВВП в 2016 году. Больше, чем у Китая.

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

Во всей этой картине индийского будущего есть, однако, «ржавый гвоздь» – давние индийско-китайские противоречия, в том числе в Тибете. И зная особенности политики «глобального гегемона», можно не сомневаться, что он постарается крупно разыграть эту карту, сделав так, чтобы в споре трёх крупнейших экономик мира США не стали лишними.

https://www.fondsk.r…44195.html
Отредактировано: Nesterok - 22 июн 2017 19:01:06
  • +0.99 / 10
  • Скрыто
КОММЕНТАРИИ (7)
 
 
  grizzly ( Профессионал )
22 июн 2017 17:59:41
Жаль тут еще InfoSys не упомянули, с результатами деятельности их разработчиков отдел, в котором я во времена оны работал, 3 года бодался. Всё, что говорят об индийском стиле программирования - правда, причем далеко не вся. 
HCL Technologies - из той же корзины. После того, как мы привели в божеский вид систему, разработку передали этим головожопым и они за полгода вернули всё в исходное состояние.
У меня где-то валяется документ, который начал составлять один из коллег и остальные дополняли, на тему жемчужин индийского стиля.
Если кому любопытно, могу выложить.
  • +1.59 / 38
  • Скрыто
 
 
  Теофраст ( Практикант )
22 июн 2017 18:19:00
Выкладывайте. Интересно почитать
  • +0.76 / 18
  • Скрыто
 
 
 
  slavae ( Практикант )
22 июн 2017 18:31:45
Только лучше в разделе IT
  • +0.18 / 6
  • Скрыто
 
 
 
  grizzly ( Профессионал )
22 июн 2017 21:29:22
Под спойлером. Увы, не последняя версия, тут где-то половина
Bad Code Hall of Fame

From XXXXXXX.cs (PowerUser property is Boolean)
if (objTransaction.PowerUser.ToString().ToLower() == "True".ToString().ToLower())
 
From XXXXXXX.cs
if(condition1){
    doSomething()
};
else if(condition2){
    doSomething()
};
else if(condition3){
    doSomething()
};
else if(condition4){
    doSomething()
};
in all 4 cases the performed operation is the same
 
From some other modules
connection = objCommon.OpenConnection();
transaction = connection.BeginTransaction();
 
… Operations with the detail table data are performed …
 
If(somethingIsWrong){
   transaction.RollBack();
   objCommon.CloseConnection(); // CONNECTION IS CLOSED 
};
 
Further operations with the master table data are performed on the same connection & transaction without their status check
 
From XXXXXXX.cs
if (returnStatus == Constant.RECORD_ALREADY_EXIST) {
  objOutBusinessEntity.HashTableValue.Add(Constant.RETURN_ID, objBusinessEntity.HashTableValue[Constant.QUERY_PARAM1].ToString());
  transaction.Rollback();
  objCommon.CloseConnection(connection);
  transactionClosed = true;
}
else if (returnStatus == Constant.RECORD_ALREADY_EXIST){                        objOutBusinessEntity.HashTableValue.Add(Constant.RETURN_ID, objBusinessEntity.HashTableValue[Constant.QUERY_PARAM2].ToString());
  transaction.Rollback();
  objCommon.CloseConnection(connection);
  transactionClosed = true;
}
 
From XXXXXXX.cs
 
private DataSet AddLabourColumns(DataSet dsTemp)
{
DataColumn dc;
try{
   for (int columnCount = 0; columnCount  0)
                {
                    alGroupCodes.Add("Project WBS");
                    alGroupCodes.Add("Project WBS 1");
                }
                if (iProjectCount > 1)
                {
                    alGroupCodes.Add("Project WBS 2");
                }
                if (iProjectCount > 2)
                {
                    alGroupCodes.Add("Project WBS 3");
                }
                if (iProjectCount > 3)
                {
                    alGroupCodes.Add("Project WBS 4");
                }
                if (iProjectCount > 4)
                {
                    alGroupCodes.Add("Project WBS 5");
                }
                if (iProjectCount > 5)
                {
                    alGroupCodes.Add("Project WBS 6");
                }
                if (iProjectCount > 6)
                {
                    alGroupCodes.Add("Project WBS 7");
                }
                if (iProjectCount > 7)
                {
                    alGroupCodes.Add("Project WBS 8");
                }
                if (iProjectCount >Крутой
                {
                    alGroupCodes.Add("Project WBS 9");
                }
                if (iProjectCount > 9)
                {
                    alGroupCodes.Add("Project WBS 10");
                }
                if (iProjectCount > 10)
                {
                    alGroupCodes.Add("Project WBS 11");
                }
                if (iProjectCount > 11)
                {
                    alGroupCodes.Add("Project WBS 12");
                }
                if (iProjectCount > 12)
                {
                    alGroupCodes.Add("Project WBS 13");
                }
                alGroupCodes.Add("COA");
                alGroupCodes.Add("COA 1");
                alGroupCodes.Add("COA 2");
                alGroupCodes.Add("COA 3");
                alGroupCodes.Add("COA 4");
 
                return alGroupCodes;
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }
 
From ZZZZZZZZZZZZZZ.cs
Try
{
                if (rdbField.Checked.ToString().Trim().ToLower() == Constant.TRUE.ToLower())
                {
                    cmbField.Enabled = true;
                }
                else
                {
                    cmbField.Enabled = false;
                }
            }
            catch (Exception Ex)
            {
                ShowMessageBox(Ex.Message, FORM_NAME, Constant.MESSAGEBOX_ERROR);
                //Log error into text file. 
                LogHelper.LogError("InControl.Search Data.rdbField_CheckedChanged: " + Ex.Message, objTransactionEntity);
            }
 
From YYYYYYYYYYYYYY.cs
The following code checks if certain ID is present in a dataset by LOOPING through the whole dataset. The most interesting thing is even if search value is found, LOOPING IS CONTINUING.
        public int SearchActivityID(string CtrID)
        {
            int returnVal = CONST_DOESNOTEXIST;
            try
            {
                foreach (DataRow theRow in dsLookup.Tables[Constant.TAB_PROJ_ACTIVITY].Rows)
                {
                    if (Convert.ToString(theRow[CONST_CTR_ID]).Trim() == CtrID)
                    {
                        returnVal = CONST_EXISTS;
                    }
                }
                return returnVal;
            }
            catch (Exception Ex)
            {
                Cursor.Current = Cursors.Default;
                ShowMessageBox(Ex.Message, "Variation Control", Constant.MESSAGEBOX_ERROR);
                //Log error into text file.
                LogHelper.LogError("InControl.VariationControl.SearchActivityID: " + Ex.Message, _transactionEntity);
                ClearEntity();
                return returnVal;
            }
        }
 
 
From XXXXXXXXXX.cs
        private void dxGvCapitalCost_FocusedColumnChanged(object sender, FocusedColumnChangedEventArgs e)
        {
            try
            {               
                string selectedCol = string.Empty;
                if (dxGvCapitalCost.FocusedColumn != null)
                {
                    selectedCol = dxGvCapitalCost.FocusedColumn.FieldName.Trim();
                }
// OK, the selected column name is read, it’s in the original case
                if (selectedCol == colCapitalProjectWBSLevel1.ToString().ToLower().Trim())
                {
                }
// Here the selected column name is compared with certain value LOWERCASE.
                else if (selectedCol == colCapitalProjectWBSLevel2.ToString().ToLower().Trim())
                {
                }
// multiple repetitions
                else if (selectedCol == COL_CAPITAL_WBS_DESC.ToLower().Trim())
                {
                }
 
            }
            catch (Exception Ex)
            {
// This is curious too. What is the reason to place public property value change // into a try..catch structure?
                //Log error into text file.
            }
        }
 
  • +0.97 / 13
  • Скрыто
 
 
  Поверонов ( Специалист )
22 июн 2017 19:46:21
Любопытно. Пожалуйста выложите в ветке "IT в России и мире в реалиях мирового кризиса"
  • +0.59 / 9
  • Скрыто
 
 
  Ale_Khab ( Практикант )
23 июн 2017 00:08:45
Сообщение удалено
Ale_Khab
23 июн 2017 00:16:33
Отредактировано: Ale_Khab - 23 июн 2017 00:16:33

  • +0.00
 
 
  tremr ( Слушатель )
23 июн 2017 00:28:54
Мне любопытно, коллега. Скиньте в личку, если решите не выкладывать в общий доступ.
Окунувшись в то небольшое, по счастью, индийское legacy, что имеется в моей нынешней конторе, предвкушаю.
  • +0.31 / 3
  • Скрыто