text:
Low-level programming language
From Wikipedia, the free encyclopedia
Jump to: navigation, search
hideThis article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
This article possibly contains original research. Please improve it by verifying the claims made and adding inline citations. Statements consisting only of original research should be removed. (March 2017) (Learn how and when to remove this template message)
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (July 2015) (Learn how and when to remove this template message)
(Learn how and when to remove this template message)
A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions. Generally this refers to either machine code or assembly language. The word "low" refers to the small or nonexistent amount of abstraction between the language and machine language; because of this, low-level languages are sometimes described as being "close to the hardware". Programs written in low-level languages tend to be relatively non-portable
Low-level languages can convert to machine code without a compiler or interpreter— second-generation programming languages use a simpler processor called an assembler— and the resulting code runs directly on the processor. A program written in a low-level language can be made to run very quickly, with a small memory footprint. An equivalent program in a high-level language can be less efficient and use more memory. Low-level languages are simple, but considered difficult to use, due to numerous technical details that the programmer must remember. By comparison, a high-level programming language isolates execution semantics of a computer architecture from the specification of the program, which simplifies development.
Low-level programming languages are sometimes divided into two categories: first generation and second generation.[citation needed]
Contents
[hide]
1 Machine code
2 Assembly
3 Low-level programming in high-level languages
4 References
Machine code[edit]
Front panel of a PDP-8/E minicomputer. The row of switches at the bottom can be used to toggle in a machine language program
Machine code is the only language a computer can process directly without a previous transformation. Currently, programmers almost never write programs directly in machine code, because it requires attention to numerous details that a high-level language handles automatically. Furthermore it requires memorizing or looking up numerical codes for every instruction, and is extremely difficult to modify.
True machine code is a stream of raw, usually binary, data. A programmer coding in "machine code" normally codes instructions and data in a more readable form such as decimal, octal, or hexadecimal which is translated to internal format by a program called a loader or toggled into the computer's memory from a front panel.
Although few programs are written in machine language, programmers often become adept at reading it through working with core dumps or debugging from the front panel.
Example: A function in hexadecimal representation of 32-bit x86 machine code to calculate the nth Fibonacci number:
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD989
C14AEBF1 5BC3

Assembly[edit]
Second-generation languages provide one abstraction level on top of the machine code. In the early days of coding on computers like the TX-0 and PDP-1, the first thing MIT hackers did was write assemblers.[1] Assembly language has little semantics or formal specification, being only a mapping of human-readable symbols, including symbolic addresses, to opcodes, addresses, numeric constants, strings and so on. Typically, one machine instruction is represented as one line of assembly code. Assemblers produce object files that can link with other object files or be loaded on their own.
Most assemblers provide macros to generate common sequences of instructions.
Example: The same Fibonacci number calculator as above, but in x86 assembly language using MASM syntax:
fib: mov edx, [esp+8] cmp edx, 0 ja @f mov eax, 0 ret @@: cmp edx, 2 ja @f mov eax, 1 ret @@: push ebx mov ebx, 1 mov ecx, 1 @@: lea eax, [ebx+ecx] cmp edx, 3 jbe @f mov ebx, ecx mov ecx, eax dec edx jmp @b @@: pop ebx ret
In this code example, hardware features of the x86 processor (its registers) are named and manipulated directly. The function loads its input from a precise location in the stack (8 bytes higher than the location stored in the ESP stack pointer) and performs its calculation by manipulating values in the EAX, EBX, ECX and EDX registers until it has finished and returns. Note that in this assembly language, there is no concept of returning a value. The result having been stored in the EAX register, the RET command simply moves code processing to the code location stored on the stack (usually the instruction immediately after the one that called this function) and it is up to the author of the calling code to know that this function stores its result in EAX and to retrieve it from there. x86 assembly language imposes no standard for returning values from a function (and so, in fact, has no concept of a function); it is up to the calling code to examine state after the procedure returns if it needs to extract a value.
Compare this with the same function in C:
unsigned fib(unsigned n) { if (!n) return 0; else if (n <= 2) return 1; else { unsigned a, c; for (a = c = 1; ; --n) { c += a; if (n <= 3) return c; a = c - a; } } }
This code is very similar in structure to the assembly language example but there are significant differences in terms of abstraction:
While the input (parameter n) is loaded from the stack, its precise position on the stack is not specified. The C compiler calculates this based on the calling conventions of the target architecture.
The assembly language version loads the input parameter from the stack into a register and in each iteration of the loop decrements the value in the register, never altering the value in the memory location on the stack. The C compiler could do the same or could update the value in the stack. Which one it chooses is an implementation decision completely hidden from the code author (and one with no side effects, thanks to C language standards).
The local variables a, b and c are abstractions that do not specify any specific storage location on the hardware. The C compiler decides how to actually store them for the target architecture.
The return function specifies the value to return, but does not dictate how it is returned. The C compiler for any specific architecture implements a standard mechanism for returning the value. Compilers for the x86 architecture typically (but not always) use the EAX register to return a value, as in the assembly language example (the author of the assembly language example has chosen to copy the C convention but assembly language does not require this).
These abstractions make the C code compilable without modification on any architecture for which a C compiler has been written. The x86 assembly language code is specific to the x86 architecture.
Low-level programming in high-level languages[edit]
In the late 1960s, high-level languages such as PL/S, BLISS, BCPL, extended ALGOL (for Burroughs large systems) and C included some degree of access to low-level programming functions. One method for this is Inline assembly, in which assembly code is embedded in a high-level language that supports this feature. Some of these languages also allow architecture-dependent compiler optimization directives to adjust the way a compiler uses the target processor architecture. For example low level language is known as c and 'O' level language.
References[edit]
Jump up ^ Levy, Stephen (1994). Hackers: Heroes of the Computer Revolution, Penguin Books. p. 32. ISBN 0-14-100051-1
[show]
v
t
e
Types of programming languages
Actor-based
Array
Aspect-oriented
Class-based
Concatenative
Concurrent
Data-structured
Dataflow
Declarative
Domain-specific
Dynamic
Esoteric
Event-driven
Extensible
Functional
Imperative
Logic
Macro
Metaprogramming
Multi-paradigm
Object-based
Object-oriented
Pipeline
Procedural
Prototype-based
Reflective
Rule-based
Scripting
Stack based
Synchronous
Templating
Assembly
Compiled
Interpreted
Machine
Low-level
High-level
Very high-level
First generation
Second generation
Third generation
Fourth generation
Fifth generation
Non-English-based
Visual
[show]
v
t
e
x86 assembly topics
Topics
Assembly language
Comparison of assemblers
Disassembler
Instruction set
Low-level programming language
Machine code
Microassembler
x86 assembly language
Assemblers
A86/A386
Flat Assembler (FASM)
GNU Assembler (GAS)
High Level Assembly (HLA)
Microsoft Macro Assembler (MASM)
Netwide Assembler (NASM)
Turbo Assembler (TASM)
Open Watcom Assembler (WASM)
Yasm
Programming
issues
Call stack
Flags
Carry flag
Direction flag
Interrupt flag
Overflow flag
Zero flag
Opcode
Program counter
Processor register
Calling conventions
Instruction listings
Registers
Retrieved from "https://en.wikipedia.org/w/index.php?title=Low-level_programming_language&oldid=834279095"
Categories:
Programming language classification
Hidden categories:
Articles that may contain original research from March 2017
All articles that may contain original research
Articles needing additional references from July 2015
All articles needing additional references
Articles with multiple maintenance issues
All articles with unsourced statements
Articles with unsourced statements from March 2017
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
Languages
العربية
Azərbaycanca
Català
Čeština
Ελληνικά
Español
فارسی
Français
Gaeilge
한국어
Hrvatski
Italiano
עברית
ქართული
Kurdî
Latviešu
Lumbaart
Magyar
Македонски
Монгол
日本語
Norsk
Олык марий
Polski
Português
Русский
Slovenščina
Српски / srpski
Srpskohrvatski / српскохрватски
Svenska
ไทย
Türkçe
Українська
Tiếng Việt
中文
26 more
Edit links
This page was last edited on 4 April 2018, at 21:13.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view
Enable previews

value: mw-page-base noprint

value: mw-head-base noprint

value: firstHeading firstHeading en

value: siteSub noprint

value: jump-to-nav mw-jump

attr: class role tabindex

attr: class href

value: plainlinks metadata ambox ambox-content ambox-Original_research

value: Help:Introduction to referencing with Wiki Markup/1

value: plainlinks metadata ambox ambox-content ambox-Refimprove

value:
mw-collapsible
width:95%; margin: 0.2em 0;

value: plainlinks metadata ambox ambox-content ambox-multiple_issues compact-ambox

value:
/wiki/Abstraction_(computer_science)
mw-redirect
Abstraction (computer science)

value:
/wiki/High-level_language
mw-redirect
High-level language

value: This claim needs references to reliable sources. (March 2017)

value:
noprint Inline-Template Template-Fact
white-space:nowrap;

value:
/wiki/Machine_instruction_(computing)
mw-redirect
Machine instruction (computing)

value: Edit section: Low-level programming in high-level languages

value:
/wiki/Inline_assembly
mw-redirect
Inline assembly

value: Hackers: Heroes of the Computer Revolution

value:
reflist mw-references-wrap
list-style-type: decimal;

value: Template talk:Types of programming languages

value:
/wiki/Pipeline_programming
mw-redirect
Pipeline programming

value:
/wiki/Stack-based_language
mw-redirect
Stack-based language

value:
/wiki/Templating_language
mw-redirect
Templating language

value: nowraplinks collapsible autocollapse navbox-inner

value:
/wiki/Instruction_set
mw-redirect
Instruction set

value: Category:Articles that may contain original research from March 2017

value: Category:All articles that may contain original research

value: Category:Articles needing additional references from July 2015

value: Category:All articles needing additional references

value: Category:Articles with multiple maintenance issues

value: Category:All articles with unsourced statements

value: Category:Articles with unsourced statements from March 2017

value: Discussion about edits from this IP address [ctrl-alt-n]

value: A list of edits made from this IP address [ctrl-alt-y]

value: You are encouraged to create an account and log in; however, it is not mandatory

value: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

value:
/wiki/Low-level_programming_language
View the content page [ctrl-alt-c]
c

value: Discussion about the content page [ctrl-alt-t]

value: p-namespaces navigation vectorTabs p-namespaces-label

value: List of all English Wikipedia pages containing links to this page [ctrl-alt-j]

value: Recent changes in pages linked from this page [ctrl-alt-k]

value:
/wiki/Wikipedia:File_Upload_Wizard
Upload files [ctrl-alt-u]
u

value: A list of all special pages [ctrl-alt-q]

value: Permanent link to this revision of the page

value: Link to connected data repository item [ctrl-alt-g]

value: Printable version of this page [ctrl-alt-p]

value: لغة البرمجة منخفضة المستوى – Arabic

value:
interlanguage-link interwiki-az
display: none;

value: Llenguatge de programació de baix nivell – Catalan

value:
interlanguage-link interwiki-ca
display: none;

value:
interlanguage-link interwiki-cs
display: none;

value: Γλώσσα προγραμματισμού χαμηλού επιπέδου – Greek

value:
interlanguage-link interwiki-el
display: none;

value: زبان برنامه‌نویسی سطح پایین – Persian

value:
interlanguage-link interwiki-fa
display: none;

value: Langage de programmation de bas niveau – French

value:
interlanguage-link interwiki-ga
display: none;

value: 저급 프로그래밍 언어 – Korean

value: Programski jezik niske razine – Croatian

value:
interlanguage-link interwiki-hr
display: none;

value: Linguaggio di programmazione a basso livello – Italian

value:
interlanguage-link interwiki-it
display: none;

value:
interlanguage-link interwiki-he
display: none;

value: დაბალი დონის პროგრამირების ენა – Georgian

value:
interlanguage-link interwiki-ka
display: none;

value: Zimanê asta nizm ê bernamesaziyê – Kurdish

value:
interlanguage-link interwiki-ku
display: none;

value: Zema līmeņa programmēšanas valoda – Latvian

value:
interlanguage-link interwiki-lv
display: none;

value:
interlanguage-link interwiki-lmo
display: none;

value: Alacsony szintű programozási nyelv – Hungarian

value:
interlanguage-link interwiki-hu
display: none;

value: Прости програмски јазици – Macedonian

value:
interlanguage-link interwiki-mk
display: none;

value: Доод түвшний програмчлалын хэл – Mongolian

value:
interlanguage-link interwiki-mn
display: none;

value:
interlanguage-link interwiki-no
display: none;

value: Изи кӱкшытан программлымаш йылме – Eastern Mari

value:
interlanguage-link interwiki-mhr
display: none;

value:
interlanguage-link interwiki-pl
display: none;

value: Linguagem de programação de baixo nível – Portuguese

value: Низкоуровневый язык программирования – Russian

value:
interlanguage-link interwiki-sl
display: none;

value: Програмски језик ниског нивоа – Serbian

value:
interlanguage-link interwiki-sr
display: none;

value: Programski jezik niske razine – Serbo-Croatian

value:
interlanguage-link interwiki-sh
display: none;

value:
interlanguage-link interwiki-sv
display: none;

value: ภาษาระดับต่ำ – Thai

value:
interlanguage-link interwiki-th
display: none;

value: Низькорівнева мова програмування – Ukrainian

value:
interlanguage-link interwiki-uk
display: none;

value: Ngôn ngữ lập trình bậc thấp – Vietnamese

value:
interlanguage-link interwiki-vi
display: none;

value: All languages (initial selection from common choices by you and others)

value: /static/images/wikimedia-button-1.5x.png 1.5x, /static/images/wikimedia-button-2x.png 2x

value: /static/images/poweredby_mediawiki_132x47.png 1.5x, /static/images/poweredby_mediawiki_176x62.png 2x

value:
suggestions
display: none; font-size: 13px;

value: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Low-level_programming_language rootpage-Low-level_programming_language skin-vector action-view


text:
I Can Only Imagine (film)
From Wikipedia, the free encyclopedia
Jump to: navigation, search
I Can Only Imagine
Theatrical release poster
Directed by
Erwin Brothers
Produced by
Cindy Bond
Kevin Downes
Daryl Lefever
Mickey Liddell
Pete Shilaimon
Raymond Harris
Joe Knopp
Screenplay by
Jon Erwin
Brent McCorkle
Story by
Alex Cramer
Jon Erwin
Brent McCorkle
Based on
The life story of
Bart Millard
Starring
J. Michael Finley
Madeline Carroll
Trace Adkins
Priscilla Shirer
Cloris Leachman
Dennis Quaid
Music by
Brent McCorkle
Cinematography
Kristopher Kimlin
Edited by
Andrew Erwin
Brent McCorkle
Production
companies
Kevin Downes Productions
Mission Pictures International
Distributed by
Lionsgate
Roadside Attractions[1]
Release date
March 16, 2018 (2018-03-16)
Running time
110 minutes
Country
United States
Language
English
Budget
$7 million[2]
Box office
$80.4 million[2]
I Can Only Imagine is a 2018 American Christian drama film directed by the Erwin Brothers and written by Alex Cramer, Jon Erwin and Brent McCorkle, based on the story behind the MercyMe song of the same name, the best-selling Christian single of all time.[3] The film stars J. Michael Finley as Bart Millard, the lead singer who wrote the song about his relationship with his father (Dennis Quaid). Madeline Carroll, Priscilla Shirer, Cloris Leachman, and Trace Adkins also star.
I Can Only Imagine was released in the United States on March 16, 2018. It has grossed $80 million worldwide against a production budget of $7 million, and is the third highest-grossing music biopic of all-time in the United States. Some critics praised it as inspiring and noted it as an improvement compared to other faith-based films, while others called it flat and by-the-numbers.
Contents
[hide]
1 Plot
2 Cast
3 Production
4 Reception
4.1 Box office
4.2 Critical response
5 References
6 External links
Plot[edit]
Coming from a home with an abusive father, 10-year-old Bart Millard is dropped off at a Christian camp by his mother, where he meets Shannon. Upon his return from camp, Bart finds his mother has left and movers are removing her belongings, leading to a physical confrontation with his father Arthur, who takes custody of him.
Years later, Millard is in high school and dating Shannon. Hoping to impress his father, he begins playing football. However, he is injured, breaking both ankles and ending his career. In order to make up the credits he would miss from football, he signs up for music class, the only available class left. Initially, Millard is assigned to be a sound technician. After the director catches him singing in the empty auditorium, she casts him as Curly, the lead role in the school production of Oklahoma. He doesn't tell his father of his role in the play, and while Bart has risen to the singing demands of the part, Arthur subsequently collapses with severe abdominal pain, but refuses to tell Bart or Shannon about his cancer diagnosis. The following morning, Millard voices his frustrations with his father and is assaulted by his father, who smashes a plate over his head. Shannon presses Bart to open up, but he responds by breaking up with her and leaving to seek his fortune in the city after graduation.
Millard then connects with the band who would become MercyMe, and eventually attracts the attention of Christian music producer Scott Brickell, who coaches Millard and gets them a showcase in Nashville, leading to meetings with Amy Grant and Michael W. Smith. Millard has been unable to reconcile with Shannon, who rejects his invitation to tour with the band to their upcoming Nashville showcase. While the band felt their performance was the best of their career, industry representatives reject the band as not being good enough to sell records. In despair, Millard quits the band. After talking with Brickell, who encourages him to resolve his issues with his father, Millard rejoins the band but asks they wait for him to confront his father and settle the conflict before they play again.
Millard returns home and is greeted enthusiastically by his father, who prepares breakfast for him the next morning. His father claims to have become a Christian, but Bart is initially skeptical and rejects his father's offer to start over. In anger, Arthur takes a baseball bat and hits his old Jeep, which he had hoped to repair with his son. As Bart prepares to leave, he finds out his father has terminal cancer. Bart and his father reconcile and form a deep bond before Arthur dies of his illness.
After his father's funeral, Millard rejoins the band and writes "I Can Only Imagine". Brickell sends the demo tape to several artists, including Grant, who, deeply moved by the song, asks to record it herself as her next single. The band accepts Grant's offer. Millard is seated in the audience when Grant intends to unveil the song live in concert. However, Grant decides that Millard should be the one to sing the song, and offers it back to him, calling him to the microphone to sing it before the large audience. Millard's unexpected performance is wildly applauded and he reunites with Shannon, who had also been in attendance at the concert. The band releases the song as their first single, achieving success on Christian and mainstream radio.
Cast[edit]
This list is incomplete; you can help by expanding it.
J. Michael Finley as Bart Millard
Brody Rose as Young Bart
Dennis Quaid as Arthur Millard, Bart's father
Cloris Leachman as Meemaw, Bart's grandmother
Madeline Carroll as Shannon, Bart's girlfriend
Taegen Burns as Young Shannon
Trace Adkins as Scott Brickell, MercyMe's manager
Priscilla Shirer as Mrs. Fincher, Bart's teacher
Nicole DuPort as Amy Grant
Jake B. Miller as Michael W. Smith
Mark Furze as Nathan
Production[edit]
This section needs expansion. You can help by adding to it. (March 2018)
The film was announced in December 2016.[4] Dennis Quaid joined the cast in January 2017.[5] Broadway actor J. Michael Finley makes his film debut as Bart Millard.[1] The same month, it was announced that the film was slated for release in the spring of 2018.[5] In August 2017, Lionsgate and Roadside Attractions signed on as distributors for the film for a nationwide release in the United States.[1][6]
Reception[edit]
Box office[edit]
As of April 22, 2018[update], I Can Only Imagine has grossed $79.4 million in the United States, and Canada and $1 million in other territories, for a worldwide total of $80.4 million, against a production budget of $7 million.[2] It is the third-highest grossing music biopic of all-time in the United States, behind Straight Outta Compton and Walk the Line.[7]
The film was released on March 16, 2018, alongside Tomb Raider and Love, Simon, and was originally projected to gross $2–4 million from 1,620 theaters in its opening weekend.[8] However, after making $6.2 million on its first day (including $1.3 million from Thursday night previews), weekend estimates were increased to $14 million.[9] It ended up grossing $17.1 million, exceeding expectations and finishing third at the box office behind Black Panther and Tomb Raider. 67% of the opening weekend audience was female while 80% was over the age of 35.[10] It was the fourth best-ever opening for a faith-based film, following The Passion of the Christ ($83.8 million), Son of God ($25.6 million) and Heaven Is for Real ($22.5 million).[11] In its second weekend the film was added to 624 additional theaters and dropped just 19% to $13.8 million, again finishing third.[12] It was added to another 395 venues and finished fourth in its third weekend, making $10.4 million (including $3 million on Easter Sunday).[13]
Critical response[edit]
On review aggregator website Rotten Tomatoes, the film holds an approval rating of 70% based on 23 reviews, and an average rating of 6/10. The site's critical consensus reads, "I Can Only Imagine's message will have the most impact among Christian audiences, but overall, its performances and storytelling represent a notable evolution in faith-based cinema."[14] On Metacritic, the film has a weighted average score of 29 out of 100, based on 7 critics, indicating "generally unfavorable reviews".[15] Audiences polled by CinemaScore gave the film an average grade of "A+" on an A+ to F scale, one of fewer than 80 films in the history of the service to earn such a score.[9]
The Arizona Republic's James Ward gave the film 4/5 stars and wrote, "Too often faith-based films — say anything with Kirk Cameron or the terrible God's Not Dead series — tend to preach to the choir or hector their audience. The Erwins’ films — I Can Only Imagine definitely among them — are more inclusive, charitable of spirit and hopeful, all qualities that are always appreciated, be they rooted in Christian faith or otherwise."[16] David Ehrlich of IndieWire gave the film a "C–" saying: "There’s a reason why all of these movies are so amateurishly made; why they all end with links to religious websites; why they all look like they were shot on an iPhone by a Walmart-brand Janusz Kaminski who lit each interior like the white light of heaven was streaming through every window...Art can be affirmation, but affirmation cannot be art."[17]
References[edit]
^ Jump up to: a b c Anita, Busch (August 14, 2017). "Faith-Based 'I Can Only Imagine' Picked Up By Lionsgate & Roadside Attractions". Deadline Hollywood. Penske Business Media. Retrieved March 19, 2018.
^ Jump up to: a b c "I Can Only Imagine (2018)". The Numbers. Retrieved April 22, 2018.
Jump up ^ Ryan, Patrick (March 13, 2018). "How did 'I Can Only Imagine' become the biggest Christian hit ever (and inspire a movie)?". USA Today. Retrieved April 18, 2018.
Jump up ^ Staff Reports (December 2, 2016). "MercyMe hit song turning into Okie production". NewsOK. Retrieved March 19, 2018.
^ Jump up to: a b Busch, Anita (January 5, 2017). "Faith-Based Film 'I Can Only Imagine' With Dennis Quaid, Cloris Leachman And Trace Adkins Eyes Spring 2018 Release". Deadline Hollywood. Penske Business Media. Retrieved March 19, 2018.
Jump up ^ Galuppo, Mia (August 14, 2017). "Lionsgate, Roadside Acquire Faith-Based Drama 'I Can Only Imagine'". The Hollywood Reporter. Retrieved March 19, 2018.
Jump up ^ "Biopic - Music Movies at the Box Office". Box Office Mojo. Retrieved April 20, 2018.
Jump up ^ Fuster, Jeremy (March 13, 2018). "Will 'Tomb Raider' Be the Movie to Finally Knock 'Black Panther' From Box Office Perch?". TheWrap. Retrieved March 19, 2018.
^ Jump up to: a b D'Alessandro, Anthony (March 16, 2018). "'Black Panther' Poised For $460M+ In Profit; 'I Can Only Imagine' Surprises – Box Office Update". Deadline Hollywood. Penske Business Media. Retrieved March 17, 2018.
Jump up ^ D'Alessandro, Anthony (March 18, 2018). "'Black Panther' Keeps B.O. Treasure From 'Tomb Raider'; How 'I Can Only Imagine' Hit A $17M High Note". Deadline Hollywood. Penske Business Media. Retrieved March 18, 2018.
Jump up ^ "Box Office: 'I Can Only Imagine' Revives Faith-Based Genre". The Hollywood Reporter. March 20, 2018. Retrieved March 20, 2018.
Jump up ^ D'Alessandro, Anthony (March 25, 2018). "Does 'Pacific Rim: Uprising' Break Even At The Global B.O.?; 'Black Panther' Sets Marvel Record – Sunday Postmortem". Deadline Hollywood. Retrieved March 25, 2018.
Jump up ^ D'Alessandro, Anthony (April 1, 2018). "How Warner Bros. Sold 'Ready Player One' On The Spielberg Spirit & Beat Tracking With $53M+ 4-Day – Sunday Postmortem". Deadline Hollywood. Retrieved April 4, 2018.
Jump up ^ "I Can Only Imagine (2018)". Rotten Tomatoes. Fandango. Retrieved March 29, 2018.
Jump up ^ "I Can Only Imagine Reviews". Metacritic. CBS Interactive. Retrieved March 22, 2018.
Jump up ^ Ward, James (March 15, 2018). "Faith-based drama 'I Can Only Imagine' doesn't just preach to the choir". The Arizona Republic. Retrieved March 22, 2018.
Jump up ^ Ehrlich, David (March 21, 2018). "'I Can Only Imagine' Review: A Christian Rock Biopic Shows Why Faith-Based Films Struggle to Convert Secular Audiences". IndieWire. Retrieved March 22, 2018.
External links[edit]
Official website
I Can Only Imagine on IMDb
I Can Only Imagine at AllMovie
I Can Only Imagine at Box Office Mojo
Retrieved from "https://en.wikipedia.org/w/index.php?title=I_Can_Only_Imagine_(film)&oldid=837811469"
Categories:
2018 films
English-language films
American films
American drama films
2010s drama films
Drama films based on actual events
Films based on actual events
Roadside Attractions films
Films shot in Oklahoma
Hidden categories:
Incomplete lists from March 2018
Articles to be expanded from March 2018
All articles to be expanded
Articles using small message boxes
Articles containing potentially dated statements from April 2018
All articles containing potentially dated statements
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
Languages
العربية
فارسی
Bahasa Indonesia
日本語
Edit links
This page was last edited on 23 April 2018, at 05:25.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view
Enable previews

tag: div

attr: id class

value: mw-page-base noprint

key: html

type: local

value: mw-head-base noprint

tag: a

tag: i

attr: id class lang

value: firstHeading firstHeading en

value: siteSub noprint

value: jump-to-nav mw-jump

tag: th

attr: colspan class style

tag: tr

tag: img

attr: alt src width height class srcset data-file-width data-file-height

attr: href class

tag: td

attr: colspan style

attr: scope style

attr: href title

tag: li

value:
/wiki/Oklahoma_(musical)
mw-redirect
Oklahoma (musical)

attr: alt src width height srcset data-file-width data-file-height

value: plainlinks metadata ambox mbox-small-left ambox-content

value: plainlinks noexcerpt noprint asof-tag update

value:
/wiki/Walk_the_Line_(film)
mw-redirect
Walk the Line (film)

value:
/wiki/Average_rating
mw-redirect
Average rating

value:
nofollow
external text
http://newsok.com/article/5529078

value:
/wiki/Penske_Business_Media
mw-redirect
Penske Business Media

value:
nofollow
http://www.icanonlyimagine.com/
external text

value:
nofollow
https://www.imdb.com/title/tt6450186/
external text

attr: alt src width height style srcset data-file-width data-file-height

value:
nofollow
external text
https://www.allmovie.com/movie/v692509

value: Category:Drama films based on actual events

value: Category:Incomplete lists from March 2018

value: Category:Articles to be expanded from March 2018

value: Category:Articles using small message boxes

value: Category:Articles containing potentially dated statements from April 2018

value: Category:All articles containing potentially dated statements

value: Discussion about edits from this IP address [ctrl-alt-n]

value: A list of edits made from this IP address [ctrl-alt-y]

value: You are encouraged to create an account and log in; however, it is not mandatory

value: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

value:
/wiki/I_Can_Only_Imagine_(film)
View the content page [ctrl-alt-c]
c

value: Discussion about the content page [ctrl-alt-t]

value: p-namespaces navigation vectorTabs p-namespaces-label

value:
p-variants
navigation
vectorMenu emptyPortlet
p-variants-label

value: Past revisions of this page [ctrl-alt-h]

value: p-views navigation vectorTabs p-views-label

value:
p-cactions
navigation
vectorMenu emptyPortlet
p-cactions-label

value:
mw-wiki-logo
/wiki/Main_Page
Visit the main page

value:
/wiki/Main_Page
Visit the main page [ctrl-alt-z]
z

value: Featured content – the best of Wikipedia

value: Find background information on current events

value:
/wiki/Special:Random
Load a random article [ctrl-alt-x]
x

value: portal navigation p-navigation p-navigation-label

value: Guidance on how to use and edit Wikipedia

value: About the project, what you can do, where to find things

value: A list of recent changes in the wiki [ctrl-alt-r]

value: portal navigation p-interaction p-interaction-label

value: List of all English Wikipedia pages containing links to this page [ctrl-alt-j]

value: Recent changes in pages linked from this page [ctrl-alt-k]

value:
/wiki/Wikipedia:File_Upload_Wizard
Upload files [ctrl-alt-u]
u

value: A list of all special pages [ctrl-alt-q]

value: Permanent link to this revision of the page

value: Link to connected data repository item [ctrl-alt-g]

value: Printable version of this page [ctrl-alt-p]

value: أستطيع فقط التخيل – Arabic

value: فقط می‌تونم تصورشو کنم – Persian

value: アイ・キャン・オンリー・イマジン (映画) – Japanese

value: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-I_Can_Only_Imagine_film rootpage-I_Can_Only_Imagine_film skin-vector action-view