Information Science and Technology
↳ Artificial Intelligence
Use of artificial neural networks to identify fake profiles
Introduction
Social media platforms are a place where everyone can remain in touch with their friends, share their latest news, and interact with others who share their interests. Online Social Networks utilize advantage of front side technology to enable permanent accounts in conjunction with getting to know one another in the. Facebook and Twitter are evolving alongside people in order to keep in touch with one another (Liu et al. 2018). Online activities welcome individuals with similar activities, making it easy for users to meet present pals. The online activities welcome individuals with similar activities together, making it easy for users to meet current pals. Gaming and entertainment websites with more followers usually have a larger fan base and higher ratings. Ratings motivate online account users to learn fresh strategies in order to compete better effectively with their peers.
Research Aim
According to studies, between 20% and 40% of profiles from internet artificial networks such as Facebook are fraudulent. As a consequence, the identification of false accounts through neural network sites leads toward a solution based on structures.
Research Objective
To understand the application of neural networks on real life problems
To know the implementation process of neural networks for fake profile detection
To detect fake profiles on social media through python programming and neural networking algorithms
Research Question
What is the major role of data identification?
How to avoid a fake status on a neural network platform?
What types of problems face an artificial neural network?
How to create an image on an ANN neural network?
Research Significant
Implementation would be a strategy for classifying an item based on the classification collected data that has been used to build a classification model. Apart from that, the project is included in the advance process that helps in the implementation of the security function in the network site. Another project tried to solve this problem but the number of fake account profiles gradually increased. Therefore this project uses Python (Yang et al. 2019). As well as programing based is highly strongest. The categories from validation data are removed as well as left therefore for a knowledgeable classifier to determine. Using “Artificial Neural Networks” for detecting fake profiles throughout this study, researchers employ “Artificial Neural Networks” to determine if the profile data provided are from authentic or bogus individuals.
Theories and Models
Vector Machine
Some fraudulent profiles are used to spread disinformation and create agendas. The identification of a fraudulent account is critical. Machine learning-based technologies were employed to detect bogus profiles that might mislead users. The information is pre-processed using several Python libraries, as well as a comparison model being produced in order to find a viable solution that is appropriate for the current information (Hayes et al. 2019). Machine Learning Classifiers are used to detect bogus information through social media networks. For the identification of bogus accounts, the segmentation abilities of the methods Variational Land, Neural Network, as well as Support Vector Machines were employed.
Technology Acceptance Model
TAM is amongst the most prominent models of adoption of technology, including two main elements affecting an individual's inclination to employ new technology: considered facilitating conditions of utility. An elderly individual who views online content as too complicated to perform or a pointless exercise will be less inclined to adopt this advanced technologies, whereas an older person who views digital content as providing required mental stimulation including being simple to learn would be more probable to even want to understand about using online content.
Research Approach
This deductive approach may be described using hypotheses that can be generated from the theory's assertions. To put it another way, the deductive method is concerned about deducing results from assumptions or assertions. Therefore, the primary purpose of this study is to assess the consequences of fraudulent profile pages on Facebook (Altman et al. 2019). To accomplish this, researchers devised a thorough data harvesting approach, conducted a social engineering study, and examined connections between phony profiles as well as actual users in order to eventually undercut Facebook's economic model. Furthermore, qualitative methods are used to examine privacy concerns.
Research Design
Initially, the researcher constructed six bogus Facebook profiles across three age categories, half of which were female as well as half of which were male. Furthermore, they developed a profile that depicted an animated cat rather than a real person and revealed nothing identification information even really. They established additional fake profiles depicting a teenage girl who friended every one of the false accounts in their experiment to induce social connections (Zhou et al. 2019). Unlike the accounts used in previous sociable experiments, which attempted to keep the profiles as basic as possible, researchers produced realistic and complicated profiles to ensure a high level of social appeal. They did this by looking at the Seagate Labs online social study.
Data Collection Process
The bulk of businesses rely on data collection methods to forecast future probabilities and trends. After acquiring data, the data organization step must be finished. The secondary data collecting process is used to gather this study to the variable source. That should help with the implementation of the project. Apart from that, properly define the variable technique in the implementation of the software as well as the operational function which is helpful to the implementation of ANN.
Software Requirements
It is believed that once the study is completed, the project's comparability would increase dramatically. In this case, we may also leverage the contact with the client to clear up any uncertainty and determine which criteria are more critical than others. This procedure often includes multiple graphical representations about the processes, due to differential types of entities, including their relationships (Yang et al. 2018). The graphical approach may aid in the discovery of inaccurate, inconsistent, absent, or excessive requirements. Flowchart, entity- relationship visualizations, database design, state-transition diagrams, and other models fall under this category.
Analysis
In recent days social media is ruling the globe in a variety of manners. The amount of people utilizing digital platforms is rapidly expanding. The biggest benefit of digital social networking sites is that they allow us to link with people more readily and interact with them more effectively. This opened up a new avenue for a prospective assault, including phony identification, misleading data, and so on. The primary goal of this study is to identify fraudulent users. In this research, the "gradient boosting" method is utilized to effectively identify bogus users. The fact that digital networking sites are saturated with incorrect material and adverts makes it difficult to detect these bogus profiles.
The primary coding language used here is Python. This is employed to identify fake accounts in the dataset. This includes a variety of techniques including libraries which aid in the detection of fake profiles with extreme accuracy. Python and Python's standard libraries such as “Numpy”, “Pandas”, “Matplotlib”, “Scipy”, and “Sklearn” were utilized.
Uploading the dataset: The collection of examples has been a dataset as well as when operating with python or machine learning a few datasets must be needed for various purposes.
Training dataset: The dataset which is fed into the programming algorithm for training the model.
Testing dataset: The dataset which is employed to validate the model’s accuracy but has not been utilized for training the model might be called the dataset of validation.
Dataset pre-processing: This is an essential phase to identify fake profiles. In this phase, the data has been processed in an appropriate manner that could be inputted to detect the procedure. The useful data which could be derived from that directly influenced the capability of the model for learning. Hence, this is very vital to pre-process the information and the data before feeding this within the model. The dataset is widely used to demonstrate guided Python programming, which involves training a system to forecast the diagnoses. It shall be disregarded for the sake of showing uncontrolled detection methods.
The "random forest" is a model composed of several "decision trees". During training and testing the model employing the "Random Forest '' method, every tree derives from a randomized selection of the pieces of data, as well as the sampling selected with replacement are called bootstrap, where certain values are utilized in many instances within a particular tree.
To start such explorative study, load libraries as well as create methods to chart data using "matplotlib". Not all charts would be created based on the information.
Then the next step is to classify the algorithms. Based on the performing the algorithms the dataset will be run as well as will give an appropriate output regarding the issue. Correlation matrix, scatter plot, distribution graph and many other materials will be obtained as output. For a particular dataset, the overall efficiency of identifying fake profiles is shown to be greater when utilizing the "Random Forest Algorithm", trailed by the "Neural Networks Algorithm".
Future Work
The main issue has been that someone can have several Facebook accounts, which allows them to create fraudulent profiles as well as accounts inside online communities. The goal is to connect an Id card information when opening an account hence, that they can restrict the amount of accounts created and eliminate the possibility of fraudulent profiles anywhere at any time. The main issue has been that an individual can have several Online profiles, which allows them to create fraudulent profiles as well as logins in social networking websites (Echizen et al. 2019). Apart from that all steps are handled privately. That should help with implementation to the network site.
Conclusion
All sorts of controlled fake profiles in several platforms in literature review work. The critical evaluation also demonstrates that the python programming function that helps ANN may be adjusted using a variety of approaches. Artificial intelligence-based technologies are employed in a wide range of businesses, including computational linguistics, online databases, human speech interpretation, and image recognition. According to study guidelines, secondary resources must always be used while doing secondary research. They are not required to employ primary approaches unless the dissertation specifically requests that their findings be consistent with previously published research.
Reference List
Lau, E.T., Sun, L. and Yang, Q., 2019. Modeling, prediction and classification of student academic performance using artificial neural networks. SN Applied Sciences, 1(9), pp.1-10.
Shu, K., Mahudeswaran, D., Wang, S., Lee, D. and Liu, H., 2018. Fake Newsnet: A data repository with news content, social context and spatial temporal information for studying fake news on social media. arXiv preprint arXiv:1809.01286.
Devlin, M.A. and Hayes, B.P., 2019. Non-intrusive load monitoring and classification of activities of daily living using residential smart meter data. IEEE transactions on consumer electronics, 65(3), pp.339-348.
Torng, W. and Altman, R.B., 2019. Graph convolutional neural networks for predicting drug- target interactions. Journal of chemical information and modeling, 59(10), pp.4131-4149.
Singh, J., Hanson, J., Paliwal, K. and Zhou, Y., 2019. RNA secondary structure prediction using an ensemble of two-dimensional deep neural networks and transfer learning. Nature communications, 10(1), pp.1-13.
Hanson, J., Paliwal, K., Litfin, T., Yang, Y. and Zhou, Y., 2018. Accurate prediction of protein contact maps by coupling residual two-dimensional bidirectional long short-term memory with convolutional neural networks. Bioinformatics, 34(23), pp.4039-4045.
Nguyen, H.H., Yamagishi, J. and Echizen, I., 2019. Use of a capsule network to detect fake images and videos. arXiv preprint arXiv:1910.12467.
Oshikawa, R., Qian, J. and Wang, W.Y., 2018. A survey on natural language processing for fake news detection. arXiv preprint arXiv:1811.00770.
Bondielli, A. and Marcelloni, F., 2019. A survey on fake news and rumour detection techniques. Information Sciences, 497, pp.38-55.
Information Science and Technology
↳ Modern Technology
Object-Oriented Scripting Language
Introduction:
I was overwhelmed in the last five weeks that I have been taken Object-Oriented Scripting Language in Python 3. Maybe because I have never taken any programming before, and Python 3 made me realize that I need to learn and practice some more to be better. Because I know that most companies and larger corporations are hiring Python programmers, according to Mark Summerfield, "Python 3 is a powerful language for web programmers. Version 3 is the best yet." This shows that Python is widely used throughout the industry. It is easier to get support because it is open-source; therefore, it allows us to remain fresh and current with the newest trends. The only question I have for myself is, how long would it take for me to get good at, and what is the best way to approach it? Because there are plenty of resources out there online to claim to be the best or easy learning. But which one?
Why is object-oriented programming a valuable skill?
Object-oriented programming (OOP) helps the programmer sort out the complex code's issues and model and then put them together in an organizational structure way. Furthermore, it allows us to put in composing a flexible, sustainable code.
By using Object-oriented programming (OOP), we would be able to group related variables and functions. That way, we can reduce complexity and eliminate redundant code. We can also hide the details and show only the essentials one. Moreover, we can isolate the impact of changes in the code and reuse that object and do it from parts of a program or in different programs.
What are the benefits and limitations of Python 3?
Python language has been widely used and cross-platform. It has a large community to help each other when one needs an assistant. It is easy to understand programming languages using punctuation for coding and very low syntax construction. The other benefits of Python Languages are it consists of user-friendly, solves complex problems in less time, and fewer lines of code. Because of open-source, it would keep getting better and keep up with new technology like machine learning, data analysis, browser automation, even Artificial Intelligent Robotics.
Furthermore, Python has the support of many libraries, and it helps programmers to do complex projects more easily.
However, some of the limitations are the performance-wise is not smooth because it is interpreted language and is not mobile user friendly. Furthermore, Python 3 will not implement back-end with other Python versions because of the syntax methods compatibility.
Besides programming, what are some other tasks you can perform with Python 3?
As the beginner and I am not good with Python 3 as yet. However, there is code in the Python community library that I can use to do some tasks, such as setup, automatic schedule, or planning. There is a good chance someone out there has already written code and available for me to use it.
How might you use the concepts you learned in this course in your career or personal life?
Once I have gotten comfortable with Python's basics --with the syntax, how to install packages, how to run, and bug check the program. I can share my skill with others. I can help solve real problems that people have, which can make it a very rewarding thing to do and can be a great thing for me to help build up my skills and market myself. Most of all, doing programming work that affects the real world, and working collaboratively with other people, especially helping the community solve real problems, is very rewarding. In what ways would you like to extend or strengthen your knowledge of object- oriented programming or Python 3 in particular?
To be better and strengthen my understanding of object-oriented programming. I need to practice as much as I can with the ideas and objects that will be motivated and inspired me to be willing to write more code. Be able to map the concepts to real-life, day-to-day things that would be improved my practice using to solve real-life problems, and, most importantly, have fun with it.
Conclusion
In the last five weeks, I have learned many things that I can do with Object-Oriented Scripting Language or Python 3. Even though I have never taken any programming class before, I enjoyed writing code. Python is open-source, which means I can learn more and get help from the other users. However, there are some limitations that I can do with Python 3. Some say it has performance issues and run-time errors, and some say it is difficult to write for mobile applications, but that is not my concern. I just need more practice, either at the basic level or to advance one, to help my community solve real work problems --and that's rewarding for me.
Information Science and Technology
↳ Computers
Comparative Programming in Hong Kong E-commerce
Introduction
It is prudent to note that, ecommerce, which is popularly known as electronic commerce or internet commerce, refer to conducting business transaction, selling and buying of goods and services through internet, money transfer and use of data to execute the prospective transactions. Ecommerce generally refer to online transaction of physical products. Advancement of technology has led to the development of new ways of business transaction. Online transaction is as result of technological advancement. Conduction business online has simplified the terms of business, it has also bridged the gap between the buyers and sellers. The journey of ecommerce began in 1994 with just a single online transaction. Ever since then, online transaction has emerged as one of the leading business transaction techniques in the world currently. The development of ecommerce has made easier to discover, sell and buy through online retailers and intermediaries.
For instance, ecommerce has led to development of independent freelancers, small and retail business as well as large corporative. These companies have benefited from the development of ecommerce, the transaction of goods and services has been simplified as well as exchange of currency among the concerned parties (Salam, Rao & Pegels, 2003). E commerce has enhanced the development of globalization and it has bridged the gap of sellers and buyers. People from different regions of the world can now communicate effectively using online communication and thus making the transaction of goods and services more effective and profitable.
Consequently, online transaction and ecommerce is fostered by developed and advanced usage of programming languages which helps in coding and transaction of business more effective. Indeed, programming language can be perceived as the formal language which consists of various and different set of instructions that produce different king of output according to the command of the programmer. In other words, programming languages are used by computer programmers to execute different outputs based on the formulated algorithm. Currently, there are different and various types of programming languages that helps to execute programs according to the specification of the programmers and the nature of the work to be executed.
There are several elements that must be included in ecommerce strategic plan for it to be successful. Among the elements, three of them are of great importance to the performance of business enterprise and thus they should be implemented. These three elements include; statement of corporate goal and objective, statement of information technology goals and objectives and statement of resource requirement. For instance, achieving corporate goal and objective is a major priority to the organization and thus it should be reflected in the priorities for the information technology development. Successive decisions should be made on the management of health cares as well as allocation of all necessary inputs and resources required. Statement of corporate goal should be included in management department in steering committee. The reason why it should be included is to enhance proper management of online and ecommerce transactions.
Indeed, since the development of plankalkul in early 1900s, a large number of programming languages have been modelled, developed and implemented. These programming languages have specific domains which solve different problems and which are made of set of design decisions and compromises (Alpert et al., 2013). Different languages serve different purposes. Programming languages are of different types which are either strongly typed or loosed typed. Some of the programming languages provide support for project orientation and abstraction of data types. Programming languages provide memory management such as garbage collection or allow the developer to take control over heap allocation and recycling. They also provide closure to allow functions to be passed around like variables.
In business fraternity, programming languages serves different purposes such as executions of program that should be followed during execution of duties by employees. In website development, programming language purpose to offer a basic platform for execution of codes that help in website development and implementation (Huang, Zeng & Chen, 2007). For instance, every business entity makes receipt for every transaction done. The preparation of receipts is developed and implemented by the help of programming languages. Programmers model codes and execute them to procedure receipts to keep the record of transaction for future retrieval of information.
Python programming in ecommerce
Perhaps, ecommerce websites are mostly developed using dozen of programming languages which comprise of different algorithms. Ecommerce websites are very famous in online marketing and transaction. Programmers in ecommerce does not need to compute very tiresome programming codes to execute output since they are made simple. In the technological advancement, python is considered as the most effective and significant programming language which serves different purposes of execution (Corbitt, Thanasankit & 2003). Python allows ecommerce programmers to express their ideas and execute codes which are essential for online business transaction with less code lines. Python also programs and codes to run on various systems.
It is worth noting that, python is a high level programming language which is easy to read, execute, compute and understand. Python is used in many business firms to carry out different programming tasks. Development of ecommerce websites require the knowledge of python the coding techniques to the effective website (Stolze & Ströbel, 2013). Preparation of business receipts which keep the transaction records is done by the use of the python programming language. Programmers design program that when entered into the systems pf the firm execute all the activities of the firms, duties and responsibilities of all employees as well as managers. Indeed, for the effective ecommerce business transaction, consider python programming language. Therefore, in business management fraternity, the best and appropriate programming language for the execution of duties and proper record of business activities is done by the aid of python language. Many business managers and programmers prefers the use of python since it’s easy to execute codes as well as easy to understand and implement.
Use of Cybersecurity in e-commerce using python.
One of the most important cloud service every business firm should embrace is the use of cyber security. Security innovations through biometrics and encryption in the cloud service should be kept updated for the better performance of ecommerce and online transactions. Cyber security is the art of safeguarding computer systems, network services and different programs from any necessary digital attacks (Singer & Friedman 2014). They articulated these attacks are aimed at having an access of information and completely destroy or alter the sensitive information of firms. However, implementation of cyber security has become a great challenge among many ecommerce business firms since the number of devices is increasing as compared to people and different innovations about information attacks is done on daily basis.
For instance, cyber security has become a big challenge in ecommerce business firms so far regarding the installation and maintenance of computer systems, network systems and information transmission within and outside the firm. There has been a number of cases that important information has lost in the staff offices which are as a result of information attacks. There has been also cases of computers being attacked by virus and this hinders research about new ventures since when a computer is invaded by the virus any information researched get disappeared and this has slowed down the performance of ecommerce firms since the computers are not reliable for storage and protection of information. Therefore the firms such as independent freelancing should fight against the cyber-attacks and viruses by protecting the information systems from these attacks. This can be achieved through installation of antivirus in the firms computers and educating those employees who develop virus software and install them in computers the importance of protecting the business properties.
Features of E-commerce
Ecommerce encompasses a number of areas including aspects of business finance and evaluation of monetary values of the business as well as customer relations in the business. It is worth to note that aspects of ecommerce systems in terms of a number of features.
Performance of the business
The development of business is measured in terms of the profit margin from the sales. The cost of production, advertising and any other expenses associated with business operation. For instance, conducting business online is one of the features that measure the performance of the business. Ecommerce is therefore a best measurement of the performance of the business in terms of the profitability and the returns of the business.
Use and precision of data types and structures
Ecommerce use programming languages to develop programs used for modelling of activities of the business. For instance, python which is widely used programming language in ecommerce which comprise of different data types used for the execution of activities of the business (Pavlou & El Sawy, 2002). Data types are used for the implementation of codes of the program which are significance for the advertisement of business products.
Maintenance of code
The use of programming language in ecommerce is intensified by the use of modelling of different languages and the process of execution of activities of the business. Maintenance of codes of programming languages in e-commerce is used to implement the purpose and objective of the business. Ecommerce programmers ensure that the codes are maintained and well developed. Therefore, one of the most significant features of the ecommerce transaction is the maintenance of different codes.
Flexibility of design and implementation of critical domain
The programming languages and codes used for execution of programs should be flexible enough to change with the programming concepts. The context of the business as well as objective of the business determines how to implement the codes according to specifications of the business. (Frieden & Roche, 2016). The implementation of the critical domain should be done in prompt way to ensure all the codes of the language used serves the indented purpose.
Therefore, even though security aspects are worth to be considered in the online transaction through ecommerce, the above features of the ecommerce and the programming language associated with it are the primary concern of the online transaction. However, the actual implementation of the language in ecommerce is a significant insight for the development of the business. Use of pre-processors and micros to selectively expand or substitute the source codes used in ecommerce. Therefore, python programming is a sound and effective language for the implementation of the business evaluation and activities.
Features of python programming language
Python programming language provide a diverse and different features that aids in execution of codes. Activities of the business need to be programmed by the help of python programming language. The following the features of python programming language that are essential for the development of ecommerce and online transaction
Python is easy to learn. The usage of python is quite simple to use and understand. The programming language is also simple to learn since it has limited execution and coding. Many ecommerce programmers prefer to use python since it’s easy for execution. The output of the language is impressive and appealing which can be understood with little knowledge of programmers (Dinev & Hart, 2006). Python has expressive language. The language of python is more appealing and expressive in a way that the programmers can understand easily the output. The output is also readable.
Python is an interpreted language. The interpreter and programmers interpret and execute line by line of code and thus making debugging more simple and effective. Ecommerce is a sensitive business that its codes should be bias free as well. There should be minimal errors associated with the codes of the language (Phillips, 2010). Therefore, programmers have the opportunity to execute accurate codes and language that is free from bias. Python is a cross- platform language that can be implemented and run with equal basis. Python allows equality of programs on different platforms and thus the users of different computers such as window, Linux and mac can get the information at equal basis.
Python is a free and open source for business transaction for both physical and online business. Indeed, python codes are freely available in all web sources and thus it is easy for the programmers and web developers to gather enough information for coding (Sanner, 2009). The source code for the python programming language is readily available in the web pages and google sentiments. Therefore, for the development of ecommerce is significantly determined by the availability of the programming language. Therefore, python programming language is an open source that all round available. Consequently, python supports object oriented programming language and concept of different classes and objects. It ensures that all the features of the python come into real existence.
Consequently, python is an advanced and extensive programming language as compared to other languages such as C, C++ and java. Other languages can be used to compile the codes and thus it can combine all the features of other languages (Delone & Mclean, 2014). Ecommerce programmers prefer use of python since it has many features that are not included on other languages. Python also has large standard library with a large storage capacity of all codes and executions of the business. Perhaps, python has a large and wide library which comprise of different modules and functions for rapid application of web page development (Sukumaran & Holder, 2010). Therefore, python is the most significant and recommended programming language to develop advertisement tools and objects. Python also allows the use of graphical user interface which is a vital aspect for the development of graphics. Graphics are visual impression tools that help to capture the attention of prospective customers and stakeholders. For an effective online advertisement, graphics are the significant aspect of ecommerce and online trading that business firms should consider when setting business strategies.
Application domains for python in ecommerce
Python have a diversified number and dimension of domains that helps to execute different programs within the source code. Python is used across many different application ad web page domains. Programming domains define a concrete and specific number of use of programming languages. For instance, python package index host a different and numerous models for the development of web pages, google sentiments, and twitter analysis. The following are some of the applications of python programming language domain in ecommerce.
Web and internet development
The development of web pages as well as internet sources of information requires a strong foundation of programming skills and knowledge. In ecommerce, python offers a wide range of varieties for web development such as writing basic and fundamental scripts for online transaction and issuing of receipts (Rossum & Boer, 2011). Python also offer a platform of advanced content management systems which are used to design different logos and graphics for advertisement and branding of the business firm. For custom web solutions and evaluation of the progress of business, internet based applications use a wide variety of python codes and programs to execute the activities of the business.
Database Access
Domain-Specific Languages are languages made specifically for use in a particular domain. They provide abstractions that are natural to domain experts and hide all the irrelevant details. In comparison to general-Purpose Languages are constrained and cannot be used outside of the domain they have been made for. It was shown in previous studies that DSLs are easier to learn and comprehend than .If the language is aligned with the domain, domain experts can understand, validate and modify DSL programs. But, despite superiority, their widespread adoption has not happened yet. One common reason often stated is the cost of their development which was prohibitive in the past. In the last decade a new breed of tools emerged that aim to remove this obstacle on the way to DSLs adoption. Those tools enable efficient and cheap building and evolution of DSLs. (Oliphant, 2017). They are generally known by the name of Language Workbenches. Although they offer a great support for semi-automatic building of complete tool-chains for the given language, their use usually requires complex integrated development environments, tooling and processes. In this paper we describe text X, a lightweight tool for DSL development implemented in the Python programming language. The main goal of text X is to be simple to use, with a readable grammar, and a simple workflow.
Conclusion
Ecommerce generally refer to online transaction of physical products. Advancement of technology has led to the development of new ways of business transaction. Online transaction is as result of technological advancement. Conduction business online has simplified the terms of business, it has also bridged the gap between the buyers and sellers. Consequently, online transaction and ecommerce is fostered by developed and advanced usage of programming languages which helps in coding and transaction of business more effective. Indeed, programming language can be perceived as the formal language which consists of various and different set of instructions that produce different king of output according to the command of the programmer. In other words, programming languages are used by computer programmers to execute different outputs based on the formulated algorithm. Currently, there are different and various types of programming languages that helps to execute programs according to the specification of the programmers and the nature of the work to be executed. Therefore, the development of ecommerce business transaction is necessitated by the use and adoption of programming language which helps as a marketing tool.
References
Alderson, C., Hui, A., Victor, N., & Williams, D. (2011). U.S. Patent Application No. 13/011,324.
Alpert, S. R., Karat, J., Karat, C. M., Brodie, C., & Vergo, J. G. (2013). User attitudes regarding a user-adaptive eCommerce web site. User Modeling and User-Adapted Interaction, 13(4), 373-396.
Chun, W. (2001). Core python programming (Vol. 1). Prentice Hall Professional.
Corbitt, B. J., Thanasankit, T., & Yi, H. (2003). Trust and e-commerce: a study of consumer perceptions. Electronic commerce research and applications, 2(3), 203-215.
Delone, W. H., & Mclean, E. R. (2014). Measuring e-commerce success: Applying the DeLone & McLean information systems success model. International Journal of electronic commerce, 9(1), 31-47.
Dinev, T., & Hart, P. (2006). An extended privacy calculus model for e-commerce transactions. Information systems research, 17(1), 61-80.
Frieden, J. D., & Roche, S. P. (2016). E-commerce: Legal issues of the online retailer in Virginia. Rich. JL & Tech., 13, 1.
Huang, Z., Zeng, D., & Chen, H. (2007). A comparative study of recommendation algorithms in e-commerce applications. IEEE Intelligent Systems, 22(5), 68-78.
Oliphant, T. E. (2017). Python for scientific computing. Computing in Science & Engineering, 9(3), 10-20.
Pavlou, P. A. O. A. (2002). A classification scheme for B2B exchanges and implications for interorganizational ecommerce. In Business to business electronic commerce: Challenges and solutions (pp. 1-21). IGI Global.
Pavlou, P. A., & El Sawy, O. A. (2002). A classification scheme for B2B exchanges and implications for interorganizational ecommerce. In Business to business electronic commerce: Challenges and solutions (pp. 1-21). IGI Global.
Phillips, D. (2010). Python 3 Object Oriented Programming. Packt Publishing Ltd.
Salam, A. F., Rao, H. R., & Pegels, C. C. (2003). Consumer-perceived risk in e-commerce transactions. Communications of the ACM, 46(12), 325-331.
Sanner, M. F. (2009). Python: a programming language for software integration and development. J Mol Graph Model, 17(1), 57-61.
Stolze, M., & Ströbel, M. (2013). Dealing with learning in ecommerce product navigation and decision support: the teaching salesman problem. In Proceedings of the Second Interdisciplinary World Congress on Mass Customization and Personalization.
Sukumaran, J., & Holder, M. T. (2010). DendroPy: a Python library for phylogenetic computing. Bioinformatics, 26(12), 1569-1571.
Singer, P. W., & Friedman, A. (2014). Cybersecurity: What everyone needs to know? Oxford University Press.
Van Rossum, G., & de Boer, J. (2011). Interactively testing remote servers using the Python programming language. CWi Quarterly, 4(4), 283-303.
Information Science and Technology
↳ Modern Technology
The Rise of Scripting Languages
Introduction
A principal change has been happening for the decade in the Manner in which individual script computer programs. Computer languages like Tcl and Perl have substituted computer languages such as C++ and C. There has been a significant difference amongst computer languages because computer languages were meant for various jobs than a programming computer language. The programming languages' main tasks are for algorithms and building data structure for the scratch applying essential basics such as the words memory. The computer's language of scripting make an assumption of the powerful constituents and bond them together. Complexity management is the primary application of system programing language. The scripting language, on the other hand, simplifies the component connection and give a quick development of applications. The key focus of this task is the progress and development of scripting language and the advancement made on the web-applications.
The term scripting bears the same age with computers. This is by the fact that a person needs a computer when scripting. It started way back in the 1950s and 1960s, where the computer programmers have exposed punch cards into the operator's mainframe, and the machine used applied in running the batch mode. Job Control Language (JCL) was the first scripting language. It was very functional except that its response time was very slow. In 1960, the scriptable shell ideas came into practice when the programmer began making interactive systems that shared time. MULTICS was one of the earliest projects and also; the last when several of the Bell Labs programmers left the project. Using their system, that is, MULTICs, UNIX was the next project that was created. It was through UNIX shell that doing a complex task in one line of the shell was made possible applying the capability to send the output of one program into the response of the other (Meurer, Smith, Paprocki, Čertík, Kirpichev, Rocklin & Rathnayake, 2017). In the year 1987, a famous Larry Wall made Perl created web-application. Computer languages such as Ruby and Python were discovered, and python was the foremost Perl opponent.
HOW the features provided by the languages have changed the way application developer write a server-side program?
In application development, the following are some of the features that the program developers write the servers program. It includes features such as high-level data types, flexible, dynamic typing, batch, and interactive use, lack of declaration and simple scoping rules, the sophisticated pattern matching, and ease of access to other programs. To the application developer, languages such as AJAX, JQuery JAVA, and other helped them make extensions and plugin for the existing computer applications. Amongst the changes that have been experienced is that a developer can use something like C in as a language of scripting through running a file source to the compiler such as the GCC and, as a result, receive a binary execute. There have as well been hybrid tools of scripting, such as the CPython implementation, which now works as an environment scripting for Python. Once the tool runs for the first time, the existing file compile which others around it are made to use the interpreting source as a PY file. The Area of Application; in this part of this task, languages will be categorized in order to examine them properly. The major categories of languages include; Universal scripting, Application, Command and Markup.
Scripting Command languages; these are the oldest categories of scripting language. It occurred in 1960 when there was great necessity for task and program regulation managers. As earlier mentioned, JCL was the most renowned language which was made for IBM OS/360 operating systems. Awk and Sed were also among the text dispensation languages. They were the first language to comprise regular expression corresponding and later implemented into Perl.
Application Scripting Languages; they were generated in 1980. Such language, Microsoft designed visual basic and after some time subset visual basic for programming application was made. It stresses on the component embedding and user interface programming. With time, the earlier languages such as excel macro language and world basic (Hanam, Brito & Mesbah, 2016). They were later substituted by VBA as the primary programing language in Microsoft office set. Its effect spread later VBScript and LotusScript embraced these modifications.
JavaScript is also found in this class. It is the client’s part of the projects’ web-programming. JavaScript have contain some dialect such as Jscript and was initially established in the Navigator Netscape 2.0 browser.
Markup Computer Languages; this Language is different from the others since they are not programming Language but special commands referred to as ‘tags’ that markup the document text, which is then applied in the programs called ‘processors.’ They have the capacity to change a script to be presented in a browser or turn it into data design. The primary application of markup language is the differentiation of structures and content. Furthermore, markup integrates the interaction of objects and formatting commands into documents.
Generic Markup Language (GML) was the first Makeup language developed in 1969 by IBM. In 1986, ISO produced standard referred to as SGML, which was founded on the GML concept. HTML, TeX, and XHTML were among the Markup Languages that become most famous. Donald Knuth, in 1969, designed a precise description of how the document should look based on the whole structure complexity. This Language was projected on individuals who do not critically require to distinguish the program in disparity with Postscript, which was designed and manufactured by adobe. TeX become more popular in the scientific community due to the fulfillment of the need for high-quality, which rendered complex formulas.
The elementary Language of the World Wide Web is HTML, which is an application of the SGML. A streamlined and simpler version of SGML form is the XML, which highlights storing, exchange, and transporting of data amongst all types of systems. XML is plied for converting complex data and store it in a hierarchical order. In 2001, HTML was regenerated in terms of XML and was renamed as XHTML (Dahl, 2016).
Universal scripting languages; this was a language that was created and well known for the UNIX environment, although its objective was different. The language of Perl programming was created for generating reports but later become known for its ability to put up efficient and simple CGI scripts that are applied in dynamic web pages formation.
To start with, Python was an instrument used for retrieving system services of the investigational operating system Amoeba. It later becomes a tool designed for the scripting language. Other languages exist in application language applied by the Microsoft.NET platform. Tcl was primarily applied as an extension application, although it was initially made as a handling string and closed integration with the Tk library. It was different form Python and Perl since it depended on the extensions of C++ and C. On the web services, another language that appeared, is PHP, which the most famous and bears the combination of traditional programming procedures and HTML (Kennedy & Musciano, 2017).
Python is a tool oriented language that offers high-level structured data. Doe instance, binding, dynamic typing, and associative rays, amongst others. Python is a dominant language of programming that has a simple syntax and is flexible. Guido van Rossum made python in 1990 because, by that time, it was free and could have run by any computer. By nature, python is modular. This translates that the python’s core can be operated by importing new extensions.
Some extended versions for such as Perl like extensions and script manipulations, are contained in the distribution of the python. Additionally, it contains operating system services, web-related utilities, and Graphical User Interface (GUI) generator, amongst others. Besides, new extensions can be created by using old or new codes. There has been a notable number of extensions that have been made. One of them is GADFLY, which is an SQL database manager scripted Python, Numeric Python, FNORB, OmniBorker PIL imaging library, amongst others.
Figure1
The above figure shows the molecule application viewer showing the protein Carmbin (1crm) with its subordinate structure displayed as a stretch. The surface of the molecule corresponds with to sheet2 and helix1 illustrated and colored using the RASMOL residue that color the scheme and the by atom form scheme of coloring. As observed, several pulls down menus have been torn off to portraying the type of command they offer. This type of command set can be dynamically extended by packing commands and modules form the libraries.
Perl; Wall Larry made it in 1986. It is essentially the integration of several UNIX utilities, C, and shell scripting convenience. Several strengths of the language are; Easy access to regular expression, associative arrays, and lists, Automatic resource management and the capacity to treat any figure as a string.
In case one wish to generate something, it can be done in numerous methods. This is termed TIMTOWTDI, which means (There Is More Than One Way To Do It).
To tackle the difficulty, one can apply the object alignment, although some computer languages power the application and often add needless complexity to nearly every project. In order to handle such kind of a problem, Perl Language added some objects support and did so in a manner that, if needed, the complex modeling could be accomplished.
“The above codes shows an easy script that calculates the column’s average in a data table. It portrays one common usage; that is read the data and divide each line openly to “words” and keep this data in an array.”
LISP; this is a figurative data processing language that uses integral calculus, mathematical logic, the game theory, integral and differential calculus amongst other filed of intellect. Since LISP is a language in mathematics, it makes it possible to provide a complete depiction. In the first place, LISP differs in the type of data. S-expressions are arc data in the way of expression symbolism. Major sub-expressions may be secluded because of the fact that S- expressions contain a branching tree type of structure and an indefinite length. The language source is the second variance from the other language since it stipulates on the way that the s- expressions are processed. Lastly, the LISP makes it possible to execute and interpret programs scripted in the form of S-expressions.
“This is a super simple number guessing game. It’s created to demonstrate what it’s like to work within a REPL.”
HOW has the structure of those programs changed?
Over the years, some programming languages like Python 3, C, and PHP 7 and others were different and were crated with different objectives. With time, the languages have been modified so as to suit the developer’s goals. In structured programming included languages such as Pascal, ALGOL, ADA, and PL/I. Due to technological advancement, there has been an eruption of new procedures in programming and application development that have included features that have included structured programming. GOTO, for example, has made the unstructured programming more complex.
HOW mechanism used by the server-side languages interface with web servers has changed. Concerning the server-side application programming, the web browser has been made to communicate with web-servers using HTTP (Hyper, Text Transfer Protocol. It has been mechanized in a way that when the developer clicks on the web program or run a search, the HTTP request is sent from the browser to the man server.
The client codes, on the other hand, have changed, and now the programmers can use languages such as ads HTML, JAVASCRIPT, and CSS. The client code runs inside the web browser and comprises little or no access to the underlying operating system. Unlike in the past, web developers cannot control the browsers on what the user uses to view the website.
The other mechanism that has been applied by the web developer is that the server-side code can be written in several programming languages such as PHP, Ruby, C#, and Python, which gives full access to the operating system and the program developer can choose which language is suitable.
In the current world, individuals have the expectation that web application works in the same manner as the window application due to the fact that web application has turned to be sophisticated and powerful. Primarily, web application resides the source of the coding scripts, assembles, and process to the webserver. The web server, on the other hand, admits an inbound Http request and then goes to the resources entreated in an n HTTP reaction.
The procedure of releasing an ASP.NET sheet to the central server for handling is referred to as PostBack. The HTML page is sent to the webserver every moment a PostBack occurs. The following is what happens; the server loads the page, process the event into new HTML, and goes back to the client, although the PostBack refreshed the entire page.
Ajax; the part of the Ajax is a tool regarded as XMLHttpRequest. The Ajax make it probable to move data from the browser to the server using XMLHttpRequest API deprived of necessarily reloading the web page. This Ajax part quickly famous, and web applications like Gmail and Google maps were made through the use of XMLHttpRequest to obtain a title of a new map without having to reload the page (Choi & Kim, 2017). The Ajax use requests are activated codes of the JavaScript. What occurs is as follows; the code sent a request to a Uniform Resource Locator (URL). A response is then received and activate a callback role to tackle the answer. The other codes continue to conduct while the request line up to be processed due to the fact it is asynchronous.
In conclusion, the technologies' server sides gave significantly progressed in the last two decades. Computer languages like Perl, HTML, and Python have outstretched the criteria of the language scripting. The web application has enhanced with the aid of customer-side technologies like as AJAX while plays a critical function in the development of web applications. It is forecasted that in the near future, there will be the development of various computer languages that can exceed the current language by a large margin.
References
Choi, K. H., & Kim, K. J. (2017). A study on acceptance procedure improvement of web application by outsourcing for mobile service. Wireless Personal Communications, 94(1), 5-16.
Dahl, D. B. (2016). xtable: Export Tables to LaTeX or HTML. R package version 1.8-2. Hanam, Q., Brito, F. S. D. M., & Mesbah, A. (2016, November). Discovering bug patterns in JavaScript. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (pp. 144-156).
Kennedy, B., & Musciano, C. (2017). HTML & XHTML. The Definitive Guide.
Meurer, A., Smith, C. P., Paprocki, M., Čertík, O., Kirpichev, S. B., Rocklin, M., ... & Rathnayake, T. (2017). SymPy: symbolic computing in Python. PeerJ Computer Science, 3, e103.
Information Science and Technology
↳ Computers
Anomaly detection
Although there are several security measures in use, professionals in the field of computer security have categorized them into different classes. There are strategies that aid in resisting attacks, spotting attacks, detecting attacks, and detecting attacks as well as strategies that aid in recovering from attacks. Although the focus of this study is anomaly detection, it is important to remember that installing a monitor sensor in one's home is a practical technique to notice an assault.
According to Bruce et al., (2020), the practice of comparing definitions of an activity that is thought to be normal versus an observed occurrence in order to discover substantial differences is known as anomaly identification. In many instances, intrusion detection systems are used to identify attacks (Bruce et al., 2020). These systems operate by evaluating the traffic flow toward a computer-based system. However, computer specialists compare the historical baseline when it comes to anomaly detection.
Anomaly detection, according to Bruce et al., (2020), is a procedure that is predicated on the idea that intrusive or improper behavior deviates from how a typical system is used. Therefore, the majority of anomaly detection systems are able to identify the activity profile of a typical system and then highlight any system events that statistically differ from the established profile. One advantage of identifying anomalies is that it facilitates the abstraction of data related to a system's typical behavior and aids in the detection of assaults, whether or not the system has previously encountered them.
By using metrics generated from system measures including CPU utilization, number and length of logins, memory consumption, and network activity, computer security specialists have created behavior models. The susceptibility of a hacker who manages to enter the system during an anomaly detection learning period, however, is a serious flaw in anomaly detection (Bruce et al., 2020). A cunning hacker might be able to teach the anomaly detection how to interpret invasive events so they appear to be typical system behavior.
A number of approaches have been devised in anomaly detection. However, experts have concerns about these approaches regarding the unauthorized access to source computer devices. For instance, the statistical approach to anomaly detection provides a system that allows the anomaly detector to measure the deviance of the present behavior profile from the original profile (Kibria et al., 2018). In this case, only computer that have been trained normally is learned by the system, which tries to extrapolate anomalous behavior by employing low probabilistic outcomes of the testing computer outcomes.
Concerns here, however, lie with the fact that, false negatives and positives may be generated due to the inadequacy of the statistical measures that are employed. There are also concerns of whether enough normal training computers were collected (Rahul et al., 2020). To add on that, source computer devices unauthorized access covers a range of concerns, like hackers trying to use them as a way of launching an attack that may involve employing collected source computer or information stealing ((Kibria et al., 2018). In network security and performance context, the source of system log as well as network computer flow is regarded as the infrastructure itself, which is another concern.
Different processes have been implemented to govern access rights network infrastructure devices. One of the processes that have been employed by many organizations is to come up with a policy that helps to classify information spelling out the importance of the information stored in the system (Rettig et al., 2019). Detection of anomalies in a network is one of the major deficiencies computer and network security personnel have. The research provides an insight for computer and network security, and to be more specific in the research thesis, sources that provide ample information on securing wireless sensor network ( Kibria et al., 2018). He research which I have decided to use a comparative approach will combine literature from a number of previous and historical researches, to provide a great resource to those who are willing to have solutions to computer and network security issues.
In their article Kibria et al., (2018), discuss DoS assaults against WSN. If deployed in an insecure environment, the wireless network devices and sensors are unable to protect the wireless media from attacks and are susceptible to physical tampering. The use of symmetric cryptography, which uses shorter encryption keys and is arguably superior to public key cryptography when used in sensor networks, is one of the generic security mechanisms suggested by the authors. Each protocol layer's weaknesses and suggested protection measures are described in the article. For instance, on a physical protocol layer, jamming and node destruction/tampering are used to assault the network and sensor devices (Munir, 2021). The remaining defenses strategies include detect and sleep, avoid jammed areas by traveling through them, conceal or disguise nodes, tamper-proof packaging, authentication, and interaction protection. The goal is to use prior research to give a more thorough, full list of protection mechanisms and remedies to security concerns. A study on assaults, security measures, and difficulties in wireless sensor networks is another crucial source.
According to Xie et al. (2018), there are two primary types of computers in computer science: spatial computers and temporal computers. The first step in developing a spatial computer entails creating an intriguing needed series that is not already recorded in spatial storage. Using a spatial computer, the analyst applies spatial information to generate the necessary data. Identifying series is one of several difficulties in the application of spatial computers, particularly in research analysis. According to Mishra & Jena (2021), Clementine and Enterprise Miner are the two commonly utilized tools for managing spatial computers. These techniques are primarily used for the analysis of various spatial computers, including genomic computers and web computers. Latitude and longitude information are stored in the spatial computer. Additionally, it includes coordinates pointing to a location in space.
The spatial computer also has a number of features that help locate various geographic locations and images of those locations. The temporal computer, on the other hand, displays the situation in real time. The temporal computer is seen as transient because it doesn't last for a very long time (Midani et al., 2019). Temporal computers are typically employed for demographic research, traffic management, and weather analysis. The analytics performed during temporal analysis are utilized to pinpoint a problem's root cause, which aids in providing a remedy.
According to the pattern of phenomena that has been investigated, the answer is assured. The temporal computer performs a wide range of tasks, such as computer categorization and comparisons, trend analysis, correlation analysis between computers, computer series analysis, and many other things (Tschimben, 2022). The basic goal of a temporal computer is to pinpoint the temporal series, correlation, and sequence that exist within it and to gather the data necessary to display the computer's behavior over a certain time frame. The computation of numerous main key values at various points in a given time is made possible by the temporal computer, which also distributes the computer's time sequence. The two categories are really different even though they seem to be the same. To start, according to its definition, a spatial computer derives data and correlation from local computers contained within a computer base, whereas a temporal computer only extracts trustworthy data from temporal computers, aiding in pattern recognition.
In connection, the platform for computer science permits forecasting through the use of codes and powerful computers. The created model makes it easier to develop trustworthy solutions to the problem that needs to be solved. The extent of the inputs and the precision of the varying computer acquired are the main determinants of accuracy during modeling. This system makes use of Hadoop (Bruce et al., 2020). Traditional computer bases and statistical tools are not capable of handling great structured and unstructured computer, but platform tools can computer scientists primarily use the platforms for cleaning, computer visualization using statistical analysis, and modeling code, among other tasks.
According to Bruce et al. (2020), business analysts also use the platform to understand their clients' businesses. Replications based on stakeholder information are always supported by the platform. There are related tools from computer science. The computer science tool functions as a platform for computer science to organize, examine, and visualize the computer. The computer science tool can only be used one at a time, whereas the computer science platform can include multiple programming tools. This is the main difference between the two. R is a useful example of a computer science tool. R is open-source and cost-free software that is used for computing and visualizing statistical data (Jha & Sharma, 2021). R has around 9900 packages, including ggpubr, ggplot, tidry, and others that allow computer scientists to conduct analysis, according to Bruce et al. (2020). The integration of R with other languages, including Python, SQL, and others, is quite easy.
Conclusion
It has been highlighted that the field of computer science is expanding quickly in the modern technological environment. As a result of this increase, as mentioned, computer scientists and businesses are facing numerous challenges, particularly in managing the computer. Since computers come from diverse sources, management of them is a concern. Additionally, it has been emphasized that the computer analyst must possess the necessary abilities to control and resolve any computer-related issues that may arise. Additionally, it has been highlighted that computers may classify data in two different ways: spatially and temporally.
Computer analysis and visualization are required for the desired outcomes in each of these classifications. The life cycle of computer science, which starts with computer collecting and ends with computer visualization, has also been noticed. The computer science platform is referenced in relation to supporting various programming tools for analysis. In conclusion, it has been mentioned that various programming languages are utilized for analysis, including R, which has a number of internal packages that aid in computer visualization for improved decision-making.
References
Bruce, P., Bruce, A. and Gedeck, P., 2020. Practical statistics for data scientists: 50+ essential concepts using R and Python. O'Reilly Media.
Jha, P., & Sharma, A. (2021, January). Framework to analyze malicious behaviour in cloud environment using machine learning techniques. In 2021 International Conference on Computer Communication and Informatics (ICCCI) (pp. 1-12). IEEE.
Kibria, M.G., Nguyen, K., Villardi, G.P., Zhao, O., Ishizu, K. and Kojima, F., 2018. Big data analytics, machine learning, and artificial intelligence in next-generation wireless networks. IEEE access, 6, pp.32328-32338.
Midani, W., Fki, Z., & BenAyed, M. (2019, October). Online anomaly detection in ECG signal using hierarchical temporal memory. In 2019 Fifth International Conference on Advances in Biomedical Engineering (ICABME) (pp. 1-4). IEEE.
Mishra, B., & Jena, D. (2021). Mitigating cloud computing cybersecurity risks using machine learning techniques. In Advances in Machine Learning and Computational Intelligence: Proceedings of ICMLCI 2019 (pp. 525-531). Springer Singapore.
Munir, M. (2021). Thesis approved by the Department of Computer Science of the TU Kaiserslautern for the award of the Doctoral Degree doctor of engineering (Doctoral dissertation, Kyushu University, Japan).
Rahul, K. and Banyal, R.K., 2020. Data life cycle management in big data analytics. Procedia Computer Science, 173, pp.364-371.
Rettig, L., Khayati, M., Cudré-Mauroux, P. and Piórkowski, M., 2019. Online anomaly detection over big data streams. In Applied data science (pp. 289-312). Springer, Cham.
Tschimben, S. (2022). Anomaly Detection in Shared Spectrum (Doctoral dissertation, University of Colorado at Boulder).
Information Science and Technology
↳ Modern Technology
A comparative study of Python, Java and C++ Programming Languages
Abstract
Over the last few decades, we have witnessed an exponential growth in programming languages, primarily due to the increase in information technologies and increased software demand. Also, continued research has improved how we program and develop software in the modern information age. This paper aims to is a comparative study of some of the three widely used programming languages, namely Python, Java, and C++. Typically, C-based programming languages have dominated the software development arena and have used to develop sophisticated systems across the globe. Java is estimated to be the most applied programming language around the world, with over 3 billion devices running Java. However, C++ and Java are experiencing reduced popularity with the introduction of Python in the programming arena. Python provides admirable features that solve modern-day programming languages, thus attributing to its extensive popularity. This paper advances through chapter one to chapter five. Chapter one gives a detailed overview, such as the background of the study, the problem statement, the objectives of the study, and to research questions that will guide the study. Chapter two provides a detailed literature review and some of the similar works associated with this paper. Section three describes some of the methodologies used in the study. Chapter four provides an analysis of each language's features, while chapter five provides a summary of the whole paper.
Chapter 1Introduction
Introduction
Software engineers, scholars, and programming experts define programming language as a constructed language or computer language designed and developed to help software developers to communicate commands to a computer or a machine. Typically, programming languages are used to control a computing device's behavior by communicating instruction to the machine. Due to the exponential growth in information technologies, there has been tremendous growth in the development of programming languages. For instance, programming languages have five generations from the first time they were introduced in the early 1950s (Oguntunde, 2012). The growth of programming languages has seen software development shift from an era of assembly language to an era where computers are being designed to solve problems in their environment without the programmers.
Overview of Java Programming Language and its significance in the software development
The Sun Microsystems team lead by James Gosling was the first developer to work on Java in 1991. The original version of Java (Java 1.0) was developed to develop systems for home appliances and was released in 1995. After the release of Java 1.0, the platform promised to deliver a Write Once, Run Anywhere (WORA) technology that could eliminate the high-cost runtimes experienced with other typical languages. As of today, Java has released over eight versions of the platform. One of the Java's latest standard editions is Java version 8 released in March 2014, with Oracle indicating on releasing Java 9.0 in a short while. However, Oracle recommends Java version 7 update 51 as the most suitable version for software development and writing of code. Due to the extensive application of Java across numerous platforms, Oracle has produced various configurations to suit each platform's needs and demands. For instance, Java 2 Micro Edition (J2ME) was developed to primarily support the development of mobile applications, while Java 2 Enterprise Edition (J2EE) was designed to ease the development of enterprise applications.
Some of the key features of Java are:
Object-oriented – unlike other typical programming languages, the basic unit of a Java program is an object. Objects in Java allows easy scalability and reusability of code (Oguntunde, 2012).
Platform independent – during the compilation process of Java, the platform is not compiled depending on the specific machine code requirements. Instead, Java has compiled into byte code that the Java Virtual Machine interprets on the machine on which Java is being run.
Security – Java programs support the use of public-key encryption to configure authentication mechanisms. Also, Java supports the development of tamper-free software.
Multithreaded – when using Java, it is possible to develop two or more executable programs to execute tasks concurrently. This feature is applied extensively to enable programmers to build interactive systems that can do multiple tasks simultaneously.
Portable – since java programs are platform-independent, the programs can be moved one platform to another more smoothly.
Architecture-neutral – the object file generated by the Java compiler is architecture-neutral. This means that the compiled code can be run on numerous platforms, and the code can be executed by various operating systems and processors. All that is required to run a java program in any architecture is a java runtime system.
Overview of C++ and its importance in software development
C++ was developed as an improvement of C, and it was first worked on by AT& T Bell labs in 1979. Generally speaking, any C program can be described or considered a legal C++ program, meaning that C++ is a subset of C. C++ combines the features of both the low-level languages and high-level languages, and it is typically considered a middle-level language. C++ is one of the oldest programming languages still in use today. The language is used extensively in numerous domains such as a high-performance server, entertainment software such as video games, system software, embedded software, device drivers, and application software. C++ is also widely applied in research and has had a significant influence on the development of other programming languages such as Java (Oguntunde, 2012). One of C++'s most notable features is its speed and provision of different programming styles to support the development of software and systems. When dealing with large projects, C++ can be configured to support object-oriented programming. Some of the typical features of the language are: C++ supports generic programming, it is case sensitive, it is statically typed and compiled, and it is a free-form programming language.
Overview of Python and its significance in software development
Although many still consider Python as a scripting language, Python is a dynamic programming language that can be used to develop sophisticated programs. For instance, Python is being applied by developers to write programs for some of the world's fastest computers. Python is derived from many other programming languages such as SmallTalk, ABC, C++, Modula-3, Unix shell, Algol-68, and many other scripting languages. Python was developed between the late 1980s and the early 1990s by Guido van Rossum. The modern-day version of Python was established in the Netherlands by the National Research Institute for Mathematics and Computer Science. Python is different from Java and C++ in many aspects. For instance, Python's syntax does not use semicolons, but rather uses whitespace. Also, in other programming languages, the programmer must declare variables and define their datatype (Van Rossum & Drake, 2011). When using Python, the programmer uses variables as objects, meaning that there is no need to declare their datatype. Pythons guide developers into writing readable code and reduces the amount of time required. One of Python's distinguishing features is that the language is easy to read and easy to learn. The language is also scalable and portable from one platform to another.
Problem statement
All programming languages offer various strengths and weaknesses that motivate the programmer to pick them during a software development task. The use of API to implement parallelism is one of the most advanced features that are on some of the existing programming languages. The advancement in technology is making it challenging for young and novice developers to choose the most effective programming language to use. One of the critical challenges is investing time in learning a new programming language and implementing the knowledge in a software development platform under certain constraints.
Goals
This paper provides a foundation for programming language paradigms by comparing the three most prominent and extensively used programming languages. This paper also aims to identify the distinguishing features between C++, Python, and Java and analyze which of the three programming languages gives the best performance for any given instance.
Research questions
What are the distinguishing features of C++, Java, and Python programming languages?
How does the usage cost of the three programming languages differ?
What is the programming Domain of the three languages?
What are the programming paradigms used by the three programming languages?
How do the three languages compare in terms of portability, simplicity, and readability?
Relevance and significance
As stated above, it is challenging for beginners to distinguish between the three prominent programming languages. Also, it is essential for software developers and computer scientists to distinguish the three prominent programming languages. The insights provided in this article offer a robust preparation for selecting the most appropriate language to learn and reducing the inconveniences of learning an unsuitable language depending on one's needs and requirements. On an overall note, this study will help one to choose and learn a programming language that will fit the needs and requirements of his or her software development demands.
Barriers and challenges
The exponential growth and development in the three programming languages posed a challenge since it was difficult to compare the three languages at any given point in time. I had to compare the latest version of the technologies. Additionally, Python is still an immature technology that is still under development, mainly due to its application in data mining. As a result, I had contradicting perspectives about the language, and I had to research an extensive amount of articles to identify Python's unique features in software development.
Chapter 2 Literature review Generations of programming languages
In total, there are five generations of programming languages that are described by time sequence.
Machine language
Machine learning is the first generation of machine learning, and it appeared in the early 1950s. As the name suggests, machine language was written in machine language, that is, ones and zeros, and it was challenging for human-being to understand the language. As a result, the language was prone to errors that limited its functionality. Another critical disadvantage of machine language is machine dependency. The language was developed to meet each specific processor's demands and requirements, meaning that the scientists had to create a different version of the language for every CPU (Ogala & et al., 2020).
Symbolic assembly languages
The symbolic assembly language is the second generation of programming languages, and it simplified the complexity of machine languages by using symbols to represent the ones and zeros. The assembly language operated at a higher abstraction level compared to machine languages and used number combinations and other symbols such as the dollar, portions of words, and percent to create instructions. The key challenges limiting symbolic assembly languages were their hardware dependency and lack of portability, meaning that software developed using assembly language could not be moved from one processor to another.
Problem-oriented languages
The third-generation languages were developed between the 1960s-1980s, and they were the first languages to be referred to as high-level languages. These languages used near-English words to develop commands and relied on compilers to convert the code into machine language. The conversion relied on compilers to match the English words with their machine equivalent. One of the distinguishing features that differentiated third-generation languages from the prior generations is that each programming language in this generation had a compiler or an interpreter. Additionally, the languages were relatively quick to execute after they were compiled (Ogala & et al., 2020). One of the critical challenges in this generation was different types of source code was needed for every different processor.
Non-procedural languages
The distinguishing feature with fourth-generation programming languages is that they are more concerned with the problem being solved than how the actual coding will be done. Fourth- generation programming languages are friendly, are independent of the operating System, and the processor can be used by non-programmers, are portable, and have intelligent options that automate various tasks during the software development process. The most notable programming languages in this generation include MYSQL and SQL.
Fifth-generation programming languages
The 5GL programming languages are still under development and rely on modern-day technologies such as artificial intelligence and machine learning. The 5GL programming languages will automate the generation of code and creating instruction to solve a problem. These languages will require minimal supervision or interactions with programmers. The languages in this generation will have the capacity to think for themselves and address challenges that would otherwise prove to be challenging to solve using programming languages in other generations.
Time Comparing between Java and C++ software
Another study by (AlHeyasat & et al., 2012) provides a detailed study that compares the flexibility of Java and C++ in executing some given tasks. The study focused on determining the time needed to run some given algorithms and determining the execution's swiftness and efficiency. The scholars used the same algorithm to determine which programming language was useful in than the other. in simpler terms, the results of which software is better were based on the time the two software took to execute the same algorithm. The study found that Java took an average of 500 microseconds to execute the algorithm while C++ to an average of fewer than 450 microseconds to run the same algorithm. The conclusion of the study indicates that although Java is a robust language, C++ is more effective in executing programs since it requires less time to compile and run an algorithm compared to Java.
Chapter 3 Methodology
Due to the time limitation in this research, I relied on the comparative analysis to compare the three programming languages. The primary goal of this analysis study is to identify the fundamental and advanced features of Python, Java, and C++ to determine their distinguishing factors and their suitability to be applied in different programming environments. Additionally, I carefully reviewed each language's advantages and disadvantages and the problems each language can solve. This comparative analysis focused on identifying the distinguishing features between the three programming languages using the following criteria:
Readability
Programming paradigm
Programming Domain
Portability
Usage cost
Programming environment
Chapter 4 Findings and analysis
Programming domain
Software development has advanced exponentially to affect every aspect of our lives. Among the various applications of software development are in business applications, systems programming, and scientific applications. Java and C++ standout as hybrid programming languages since they are used in almost every aspect of programming. As a result, these two languages have been extensively applied in software development and have played a significant role in the development of other programming languages. The two languages have data structures that can be applied in a wide range of applications in the development of scientific and business applications (Foster, 2014). One of the key differences between the two languages is that C is typically used for large projects, while Java is used for relatively smaller projects. For instance, C++ is used in the development of operating systems and other complex software programs such as the Symbian Operating System and Linux Operating system. Java plays a minimal role in the development of such systems, and not a single operating system that has been developed using entirely Java.
Python is also a hybrid language that is typically used as a scripting language for the web application. However, Python also has the capacity to support the development of standalone software programs that can be executed independently. However, Python is not as widely applied as Java and C++, and its yet to be used in the development of a large project such as an operating system.
Programming paradigm
The programming paradigm of a language provides details on the design characteristics that must be followed during the development process. In other words, the programming paradigm provides details on the styles used to write instructions. Java programming languages support the use of various programming paradigms, such as object-oriented, reflective programming, and structured programming. Typically, Java is used due to its ability to support the object-oriented programming paradigm (McMaster & et al., 2017). In an object-oriented paradigm, messages are passed to objects and the basic unit of the program in the object. Objects have state and can do something within the software. Structured programming means that the programs have nested control. Java also supports the imperative programming paradigm meaning that the commands are written as a sequence of instructions. In imperative programming paradigm, the commands are written step-by-step and are also interpreted in the same format.
The following code samples indicate the difference between the three programming paradigms.
Object-oriented programming
Result = [];
For a in name {
If a.lastname.length>4{ Result.add(a.lastname.toUpper);
}
}
Return result.sort;
Structured programming paradigm
Result = [];
For i=0; i<length(lastname); i++{ A=lastname[i];
If length(a.lastnale)) >5 { addToList(Result, toUpper(p.name));
}
}
Return sort(result);
Imperative programming
Result = []
I = 0
Start:
Numlastname = length(lastname) If I >= numlastnale goto end
A = lastname [i]
Namelength = length(a.lastname)
If namelenght = toUpper (p.lastname) addToList (result, upperName)
next:
i = i + 1 goto start end:
return sort (result) just like Java, C++ and Python are multi-paradigm programming languages that various programming paradigms. For instance, C++ supports generic programming, structured, object- oriented, and functional programming. C++ uses procedural calls to support the imperative programming paradigm. Both C and C++ have similar programming styles. Similarly, Python also supports object-oriented and structured programming styles. Python is a hybrid language and based on its design characteristics, and it supports other programming paradigms, such as aspect-oriented programming and functional programming.
Readability
The readability of programming language is determined by the consistency of its rules and the clarity of the keywords used in the language. Java is relatively easy to learn and understand since it requires the programmer to understand only 50 keywords. As a result, the readability of Java is very effective and impressive, especially since the keywords are not complicated and are consistent. The consistency of Java is also extended to its coding rules. The use of operators, coding conversions, importing libraries, and dealing with exceptions in Java is consistent throughout the language. It is, therefore, appropriate to conclude that Java is a highly impressive and readable programming language.
Unlike Java, C++ readability is not very impressive due to the numerous inconsistencies affecting the language coding rules. Also, C++ has multiple rules and an average of 84 keywords, which are relatively difficult to understand. Some of the keywords in C++ include goto, enum, break, struct, bitand, static, auto, alignas, static_cast, case, switch, if, for, explicit, false, delete, xor, volatile, using, union, true, float, bitor among many others. the rules used to handle exceptions in C++ are also not consistent and requires the programmer to cram when to use which rules and when not to use them (Foster, 2014). On an overall note, the readability of C++ is not as impressive as the readability of Java.
Python was explicitly designed to overcome the readability challenges of other programming languages, with Java and C++ being involved. Python has only 35 keywords that are relatively easy to understand and remember. Some of these keywords are true, and, as, del, from, print, continue, while, lambda, is, try, false, return, raise, import, nonlocal, not or, exec, break and many others (Van Rossum & Drake, 2011). All the keywords in Python are English words, meaning that it is easy for the programmer to remember them and understand their use.
Furthermore, Python has a reduced set of rules and syntactic exceptions. These characteristics make Python the most readable programming language among all the three programming languages.
Simplicity
Simplicity describes the simplicity of learning a language and understand how it works. The simplicity of the three languages can be gauged by developing a simple program such as the "Hello World" program. In Java, the program will be a three-part structure with the System.out part, it is printing the message on the screen. For a beginner or a novice programmer, understanding the three parts and their functionality can be challenging, thus making Java a complicated and challenging language to learn (McMaster & et al., 2017).
Similar to Java, developing a "Hello World" program in C++ involves a series of steps that can be difficult to understand. The numerous variables that one must declare in C++ complicate the learning process even further. In Python, the creation of the same program is much simpler since the print command is in natural language. To create a "Hello World" program in Python, the programmer only need to write 'print "Hello World!" this makes Python the simplest language to learn for beginners and novice programmers.
Portability
The portability of a programming language defines the language's ability to work in different processors and operating systems. The portability of a programming language relies on the abstraction between the system interface and application logic. The Java Virtual Machine (JVM) makes Java a highly portable programming language, meaning that software and systems developed using Java can run on any processor and in any operating system. Java provides abstraction in three distinct ways, namely OS portability, CPU architecture portability, and source code portability (Foster, 2014). Software produced using Java produces a source code called J-code that enables java codes to be run in any CPU architecture. The JVM means that java programs can be run in any system regardless of the underlying java compiler, Operating System, and CPU.
Since C++ is an integral part of all major operating systems, the programming language is highly compatible with most existing technologies and systems. However, different versions of C++ such as C++11, C++98, and C++03 use different compilers, which are not compatible with each other. as a result, C++ can be said to be less compatible compared to Java. On the contrary, Python has impressive portability and can be integrated with the major operating systems such as Windows, MacOS, and Unix.
Programming environment
The programming environment defines the friendliness of the editors used by the programming languages. Java relies on two Integrated development environments (IDEs), namely Eclipse and NetBeans. C++ can also use the two IDEs used by Java since they support extensibility and plugin support. The two IDEs enable the programmer to start new projects and debug the source code during development. The programs also trace errors during development and will allow the programmer to detect them more easily. Additionally, the IDEs provide visual editors that would allow developers to develop GUI more comfortably. Visual studio is the most common option for C++, and most programmers use this tool to develop C++ programs (Satav & et al., 2011). Visual studio, NetBeans, and Eclipse are open source programs, and developers do not have to pay a fee. Pythons have numerous programming environments and can use any environment stated above. Other programming environments used by Python include PyCharm that provides features such as a debugger, unit testing, code navigation, and code completion. Other Python programming environments support Web development with Web2Py, Mako, Flask, and Django.
Usage costs
Some of the costs associated with programming languages include development costs, training costs, marketing costs, program execution costs, and maintenance costs. The usage cost of a programming language is directly proportional to its easy to learn and understand. Python is the cheapest programming language to use since it reduces the costs associated with training, development, and maintenance of Python software programs (Foster, 2014). Since Java is more readable than C++, it is less expensive than C++. C++ is the most expensive language to use between the three programming languages. The usage costs are some of the significant aspects that organizations consider when selecting the language to develop their systems.
Chapter 5 Conclusion
Many in the software development industry continue to view Java as the most appropriate language moving forward due to its extensive applicability and portability. Also, many programmers are appealed to Java as the standard programming language for software development due to its advanced features. However, Oracle must strive to develop Java and release versions that are compatible with the requirements of the modern-day requirements such as data mining and the use of Artificial Intelligence and machine learning in the development of software. C++ continues to appeal to experienced programmers as the most effective programming language to execute large programs and native coding, such as the development of complex video games. On the other hand, Python is attracting young developers who are passionate about exploiting modern-day technologies fully. Python is surpassing its close competitors such as Ruby, and it is moving forward rapidly to emerge as one of the most applied programming languages across the globe.
Implication and Recommendation
Anyone within the software engineering industry can use the underlying programming principles identified in this paper to be able to pick the right language Learning a new programming language is relatively hard, especially if one does not have the skills to distinguish the best language for him or her to learn. Continued research should be conducted to help us identify how the three languages differ in terms of exploiting modern technologies such as Internet of Thing (IoT), Artificial Intelligence and Machine learning.
References
AlHeyasat, O., Abu-Ein, A. A. K. & Sharadqeh, A. A. (2012). Time comparing Java and C++ software.
Foster, Elvis. (2014). A COMPARITIVE ANALYSIS OF THE C++, JAVA, AND PYTHON LANGUAGES.
McMaster, K., Sambasivam, S., Rague, B., & Wolthuis, S. (2017). Java vs. Python coverage of introductory programming concepts: a textbook analysis. Information Systems Education Journal, 15(3), 4.
Ogala, J. O., & Ojie, D. V. (2020). COMPARATIVE ANALYSIS OF C, C++, C# AND JAVA PROGRAMMING LANGUAGES. GSJ, 8(5).
Oguntunde, B. O. (2012). Comparative analysis of some programming languages. Transnational Journal of Science and Technology, 2(5), 107-118.
Satav, S. K., Satpathy, S. K., & Satao, K. J. (2011). A Comparative Study and Critical Analysis of Various Integrated Development Environments of C, C++, and Java Languages for Optimum Development. Universal Journal of Applied Computer Science and Technology, 1, 9-15.
Van Rossum, G., & Drake, F. L. (2011). The python language reference manual. Network Theory Ltd..