Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

MATLAB-like scripting of Java scientific libraries in ScalaLab

Published: 01 July 2014 Publication History

Abstract

Although there are a lot of robust and effective scientific libraries in Java, the utilization of these libraries in pure Java is difficult and cumbersome, especially for the average scientist that does not expertise in software development. We illustrate that ScalaLab presents an easier and productive MATLAB like front end. Also, the main strengths and weaknesses of the core Java libraries of ScalaLab are elaborated. Since performance is of paramount importance for scientific computation, the article discusses extensively performance aspects of the ScalaLab environment. Also, Java bytecode performance is compared to native code.

References

[1]
A. Aho, M.S. Lam, R. Sethi and J.D. Ullman, Compilers, Principles, Techniques, & Tools, 2nd edn, Addison-Wesley, 2007.
[2]
E. Anderson, Z. Bai, C. Birschof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. Mckenney and D. Sorensen, LAPACK Users' Guide, 3rd edn, SIAM, 1999.
[3]
S.V. Chekanov, Scientific Data Analysis using Jython Scripting and Java, Springer-Verlag, 2010.
[4]
E. Darulova and V. Kuncak, Trustworthy numerical computation in Scala, ACM OOPSLA'11, October 22-27, Portland, OR, USA, 2011.
[5]
G. Dubochet, On embedding domain-specific languages with user-friendly syntax, in: Proceedings of the 1st Workshop on Domain Specific Program Development, 2006, pp. 19-22.
[6]
G. Dubochet, Embedded domain-specific languages using libraries and dynamic metaprogramming, PhD thesis, EPFL, Suise, 2011.
[7]
K. Hinsen, The promises of functional programming, Computing in Science & Eng. 11(4) (2009), 86-90.
[8]
C. Horstmann and G. Cornell, Core Java 2, Vol. I - Fundamentals, Vol. II - Advanced Techniques, 8th edn, Sun Microsystems Press, 2008.
[9]
D. Konig, A. Glover, P. King, G. Laforge and J. Skeet, Groovy in Action, Manning Publications, 2007.
[10]
H.T. Lau, A Numerical Library in Java for Scientists and Engineers, Chapman & Hall/CRC, 2003.
[11]
K. Laufer and G.K. Thiruvathukal, The promises of typed, pure and lazy functional programming, Part II, Computing in Science & Eng. 11(5) 68-75.
[12]
M. Odersky, L. Spoon and B. Venners, Programming in Scala, Artima, 2008.
[13]
S. Papadimitriou, Scientific programming with Java classes supported with a scripting interpreter, IET Software 1(2) (2007), 48-56.
[14]
S. Papadimitriou, S. Mavroudi, K. Theofilatos and S. Likothanasis, The software architecture for performing scientific computation with the JLAPACK libraries in ScalaLab, Scientific Programming 20 (2012/2013), 379-391.
[15]
S. Papadimitriou and K. Terzidis, jLab: Integrating a scripting interpreter with Java technology for flexible and efficient scientific computation, Computer Languages, Systems & Structures 35 (2009), 217-240.
[16]
S. Papadimitriou, K. Terzidis, S. Mavroudi and S. Likothanasis, ScalaLab: an effective scientific programming environment for the Java Platform based on the Scala object-functional language, IEEE Computing in Science and Engineering (CISE) 13(5) (2011), 43-55.
[17]
S. Papadimitriou, K. Terzidis, S. Mavroudi and S. Likothanasis, Scientific scripting for the Java platform with jLab, IEEE Computing in Science and Engineering (CISE) 11(4) 2009, 50-60.
[18]
F. Perez, B.E. Granger and J.D. Hunter, Python: An ecosystem for scientific computing, in: IEEE Computing in Science & Engineering, March/April 2011, pp. 13-21.
[19]
W.H. Press, S.A. Teukolsky, W.T. Vetterling and B.P. Flannery, Numerical Recipes in C++, The Art of Scientific Computing, 2nd edn, Cambridge Univ. Press, 2002.
[20]
V. Subramaniam, Programming Scala - Tackle Multicore Complexity on the Java Virtual Machine, Pragmatic Bookself, 2009.
[21]
D. Wampler and A. Payne, Programming Scala, O'Reily, 2009.
[22]
T. Wurthinger, C. Wimmer and H. Mossenblock, Array bounds check elimination for the Java HotSpot client compiler, in: PPPJ 2007, September 5-7, ACM, Lisboa, Portugal, 2007.
  1. MATLAB-like scripting of Java scientific libraries in ScalaLab

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Scientific Programming
    Scientific Programming  Volume 22, Issue 3
    July 2014
    69 pages
    ISSN:1058-9244
    EISSN:1875-919X
    Issue’s Table of Contents

    Publisher

    Hindawi Limited

    London, United Kingdom

    Publication History

    Published: 01 July 2014

    Author Tags

    1. Functional Programming
    2. Interpreters
    3. Java
    4. Matlab
    5. Scala
    6. Scientific Programming
    7. Scripting

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 0
      Total Downloads
    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 31 Dec 2024

    Other Metrics

    Citations

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media